LinkedList aus Arrays ( Lösungsraum Mastermind )

kenyo

Mitglied
Hi , ich versuche gerade Mastermind zu programmieren. Der Lösungsraum für alle möglichen Lösungen soll in einer LinkedList gespeichert werden. Also hab ich eine LinkedList aus int[] erstellt. und befülle Ihn mit sämtlichen Lösungen.
//Man hat 6 Farben und 4 Positionen.
Bzw. eher versuche ich Ihn zu befüllen. Allerdings hänge ich jetzt schon eine ganze weile im Debugger und verstehe nicht wieso in Zeile 35 nicht nur mein array loesung befüllt wird sondern alle positionen der linked list auch? Das Endprodukt ist nämlich statt des Lösungsraumes von 0000,0001,0002....5555 steht überall 5555 drin. Wäre nett wenn Ihr mir helfen könntet.

//nicht an dem Konstruktorparameter stören, der ist für später

Screenshot:
loesungsraum7rhaw9c3uz.jpg



Code der Klasse:

Code:
import java.util.LinkedList;


public class Loesungsraum {

        int[] loesung = new int[4];
    
	LinkedList<int[]> loesungen = new LinkedList<>();

	public Loesungsraum(int farben) {
            
            for(int i = 0; i<6; i++){
                loesung[0] = i;
                for(int j = 0; j<6; j++){
                    loesung[1] = j; 
                    for(int k = 0; k<6; k++){
                        loesung[2] = k;
                        for(int l = 0; l<6; l++){
                            loesung[3] = l;
                            loesungen.add(loesung);
                          //System.out.println(loesung[0]+""+loesung[1]+""+loesung[2]+""+loesung[3]);                            
                        }        
                    }
                }
            }
    	}

	public void printL(){
        
            for(int[] temp : loesungen)
            System.out.println(temp[0]+""+temp[1]+""+temp[2]+""+temp[3]);
        }
 
Zuletzt bearbeitet:
Hab ich gemacht. 6^4 sollten es sein. Un nu?

Die Frage war übrigens ( bzw was ich nicht verstehe ist ) wieso wird in Zeile 35 jede node in der LinkedList loesungen überschrieben ....
 
Zuletzt bearbeitet:
Sollte vielleicht dazu sagen, dass jedes mal wenn ich was in das array loesung schreibe, sämtliche nodes der linkedlist loesungen gleich loesung gesetzt werden...
 
Heisst das, dass add nur die Referenz auf mein array erstellt und der liste hinzufügt?...mhm das erklärt einiges...Danke für die antwort
 
Zuletzt bearbeitet:

Zurück
Oben