Matrix erstellen

DrIkarus

Mitglied
Tag,

ich hab hier ein Prog, das eine Matrix erstellen soll.
Der Quellcode wird weder rot markiert nocht gibt es einen Fehler.
Aber wenn ich es starte passiert einfach nix.
Ich seh nicht was das Problem ist bzw. warum Eclipse mir nix anzeigt, hat jemand eine Idee?

Code:
public class matrix implements intmatrixIF{
	
	public int rows;
	public int columns;
	int [][] a= new int[rows][columns];

	
	public matrix (int x, int y){
	rows=x;
	columns=y;
	}
	
	@Override
	public int columns() {
		return this.columns;
	}
	
	@Override
	public int rows() {
		return this.rows;
	}
	
	@Override
	public void set(int i, int j, int value) {
		a[i][j]= value;
		
	}

	@Override
	public int get(int i, int j) {
		return a[i][j];
		
	}	
	
	@Override
	public void print() {
		
		for (int i = 1; i <rows; i++);
			for (int j = 0; j<columns; j++);
		System.out.println(a[rows][columns]);
		
	System.out.println();
	}
	
}

Ich danke euch schon mal für Hilfe
 
Hi,

Aber wenn ich es starte passiert einfach nix.

Die Klasse hat keine main-Methode, da kannst du nichts starten. Falls du die Klasse irgendwie anders aufrufst solltest du das dazu schreiben.

Code:
public int rows;
public int columns;
int [][] a= new int[rows][columns];

Ich hab das jetzt nicht ausprobiert, aber das dürfte dir ne 0x0-Matrix liefern. Wenn du sowas in irgend ner Methode schreiben würdest, würde Eclipse dich voll meckern dass rows und columns nicht initialisiert sind.


MfG,
DarkWizzard
 
Hallo,

Zusätzlich zu dem, was bereits gesagt wurde, macht diese Methode
Java:
@Override
    public void print() {
        
        for (int i = 1; i <rows; i++);
            for (int j = 0; j<columns; j++);
        System.out.println(a[rows][columns]);
        
    System.out.println();
    }
so keinen Sinn.

Wieso setzt du hinter den jeweiligen for's Strichpunkte?
Wieso gibst Du nur den Eintrag bei a[rows][columns] und nicht bei a[i][j] aus?

Gruß,
Martin
 
dein print sollte in etwo so aussehen:
Java:
@Override
public void print() {
     for(int i = 0; i < rows; i++) {
          for(int j = 0; j < columns; j++) {
               System.out.print(a[i][j]+" ");
          }
          System.out.println("");
     }
}
 
Da waren ja doch ein paar mehr oder weniger große Macken im Code, hat sich aber erledigt, läuft jetzt.
Hauptproblem waren die Konstruktoren, das zu verstehen war doch etwas schwierig :D
Hab noch eine Testmatrix geschrieben und die läuft auch.
Danke für die erneute Hilfe
 

Neue Beiträge

Zurück