list.add(list2)-Problem
Schaich
- java
Hey,
ich hab ein Problem bei einem Programm, dass mir die Determinante zu einer Matrix ausrechnen soll die vorher interaktiv erfragt wird.
Das Programm fragt erst nach Anzahl der Zeilen (und Spalten) und speichert dann mit Hilfe von zwei for-schleifen die Eingaben in einer Liste die ich "Zeile" genannt hab, also eben auch die Zeilenelemente enthält.
Nach durchlaufen der for-Schleife wird dann diese Liste in die Liste "Matrix" per Matrix.add(Zeile)
angefügt.
Das Problem ist nur dass ich danach "Zeile" leere und sie mit der zweiten Zeile beschreibe.
Jetzt ändert sich aber auch der inhalt von "Matrix" mit und die erste Zeile wird mit der zweiten neu überschrieben.
Hier mal der nötoge Quellcode:
for(int j=1;j<=NoCols;j++){
System.out.println("~~~~~~~~~~~~~"+j+". Zeile~~~~~~~~~");
for(int i=1;i<=NoLines;i++){
System.out.print(i+". Spalte ");
Element=Integer.parseInt(br.readLine());
Zeile.add(new Integer(Element));
System.out.println("Bisherige Matrix: " + Matrix);
}
Matrix.add(Zeile);
Zeile.clear();
}
Würde mich über Hilfe sehr freuen.
MfG Schaich
Hallo,
Hier mal der nötoge Quellcode:
> Matrix.add(Zeile);
> Zeile.clear();
> }
Du fügst hier keine Kopie von "Zeile" zur Matrix hinzu, sondern nur eine
Referenz. Danach veränderst du ein- und dasselbe Objekt (Zeile) wieder, indem
du es erst clearst und dann neu befüllst.
Was du willst, ist dieses:
Matrix.add(Zeile);
Zeile = new ArrayList<Integer>();
}
Oder so ähnlich.
Gruß
Slyh
Was du willst, ist dieses:
Matrix.add(Zeile);
Zeile = new ArrayList<Integer>();
}
> Oder so ähnlich
Ja danke das klappt...
MfG Schaich
Hey,
ich hab jetzt eine "Matrix" mit Listen erzeugt, die aus Listen in einer Liste besteht.
Wie kann ich jetzt auf einzelne Elemente in den Listen der Matrix zugreifen?
Also wenn ich sowas habe:[[1,2,3][4,5,6][7,8,9]]
wie kann ich z.b. die 9 aus der liste löschen?
MfG Schaich