Matrix einlesen
-
Hallo,
muss mal ein paar Fragen stellen zu Sachen die mir in C++ keine Probleme machen wuerden, aber ich java weis ich net wie das geht.
Ich will eine Matrix Klasse schreiben, und muss die einlesen funzt dann folgendes?
public class Matrix{ public Matrix(int z, int s){ zeilen = z; spalten = s; m = new int[zeilen][spalten]; for(int i= 0; i<zeilen;i++){ for(int j=0; j<spalten;j++){ matrix[i][j] = System.in.read(); } } } int zeilen; int spalten; int m[][]; }
Ich habe naemlich keine Ahnuun wegen des anlegens der Matrix und dem einlesen eines Integers. Ich kann das leider gerade net prüfen.
-
Du willst die Matrix doch sicherlich aus einer Datei einlesen, oder?
Wenn ja geht das so:public class Matrix { int zeilen; int spalten; int[][] matrix; public Matrix(int zeilen, int spalten) { matrix = readMatrix(zeilen, spalten); } private final int[][] readMatrix(int zeilen, int spalten) { BufferedReader in = new BufferedReader(new FileReader(new String(zeilen+"*"spalten+".mrx"))); int[][] m = new int[zeilen][spalten]; StringTokenizer str; String line; int i = 0; int j = 0; while ((line = in.readLine()) != null) { str = new StringTokenizer(line, ","); while (str.hasMoreTokens()) { m[i][j++] = Integer.parseInt(str.nextToken()); } ++i; } return m; } }
Also in diesem Beispiel wurde die Matrix in dieser Art gespeichert:
1,0,0,0
0,1,0,0
0,0,1,0
0,0,0,1Ich weis nicht ob es das ist was du wolltest, aber vielleicht hilft´s dir ja.
-
Vielen dank für deine Hilfe jetzt laeuft alles was ich brauchte.