Schaich: list.add(list2)-Problem

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

  1. 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

    1. Was du willst, ist dieses:

      Matrix.add(Zeile);
              Zeile = new ArrayList<Integer>();
            }

      
      > Oder so ähnlich  
        
      Ja danke das klappt...  
        
      MfG Schaich
      
  2. 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