Hi ich habe gerade ein Problem was ich mal so gar nicht verstehe... Hier erstmal der Quellcode (die nach links eingerückten Zeilen sind "print Debugging Zeilen die eigentlich wieder raus sollen"
Und hier nun (der Anfang) der Ausgabe dazu:
**********************
*** Building graph ***
*--------------------*
* building nodes *
************
* 1 2 *
* 3 4 5 *
* 8 6 7 *
************
************
* 1 2 *
* 3 4 5 *
* 8 7 6 *
************
************
* 1 2 *
* 3 4 6 *
* 5 7 8 *
************
100
************
* 1 2 *
* 3 8 4 *
* 7 5 6 *
************
200
************
* 1 2 *
* 4 7 5 *
* 6 3 8 *
************
Wie zu sehen ist, ist bei jedem Aufruf ein anderes Objekt im Knoten Array an der Stelle 4 gespeichert. Wie kann das sein?
Auf die Stelle im Array wird schreibend nur einmal zugegriffen und es wird jedes mal ein neues, annoymes Objekt erzeugt, so dass eigentlich auch an jeder Stelle im Array ein einzigartiges Objekt liegen sollte.
Bin total ratlos in diesem Fall...
Java:
knoten = new Zustand[362880];
map=new HashMap<Integer, Integer>();
PermutationGenerator perGen = new PermutationGenerator(9);
System.out.println("* building nodes *");
for(int i=0; i<362880;i++){
int [] matrix = perGen.getNext();
knoten[i]=new Zustand(matrix);
map.put (knoten[i].getSignature(),i);
if(i==4 || i==5 || i==6)knoten[4].print();
if ( i % 100 == 0 && i != 0) {
System.out.println(i);
knoten[4].print();
}
Und hier nun (der Anfang) der Ausgabe dazu:
**********************
*** Building graph ***
*--------------------*
* building nodes *
************
* 1 2 *
* 3 4 5 *
* 8 6 7 *
************
************
* 1 2 *
* 3 4 5 *
* 8 7 6 *
************
************
* 1 2 *
* 3 4 6 *
* 5 7 8 *
************
100
************
* 1 2 *
* 3 8 4 *
* 7 5 6 *
************
200
************
* 1 2 *
* 4 7 5 *
* 6 3 8 *
************
Wie zu sehen ist, ist bei jedem Aufruf ein anderes Objekt im Knoten Array an der Stelle 4 gespeichert. Wie kann das sein?
Auf die Stelle im Array wird schreibend nur einmal zugegriffen und es wird jedes mal ein neues, annoymes Objekt erzeugt, so dass eigentlich auch an jeder Stelle im Array ein einzigartiges Objekt liegen sollte.
Bin total ratlos in diesem Fall...
Zuletzt bearbeitet von einem Moderator: