Ich beginne an mir zu zweifeln...:
Dieser Code soll mir Bijektionen in Körpern finden. Es get um die Zeilen:
An diesen Stellen werden die richtigen Funktionen gefunden (wie mir System.out.println() bestätigt), in meine Liste (bijections) werden die Richtigen eingetragen so dass am Ende meine Ausgabe so aussehen sollte:
tatsächlich siehts aber so aus:
Abgesehen davon, dass diese Funktion darin gar nicht auftauchen darf scheint meine Liste jedesmal komplett überschrieben zu werden:
(Code abgeändert):
Warum wird meine Liste immer wieder vollkommen überschrieben??? Das muss doch ein ganz blöder Fehler sein!
Java:
List<int[]> bijections = new Vector<int[]>();
if(check(START)) bijections.add(START);
int x;
for(x=0; END[x]==0; x++) {}
int[] c = START;
int i = 0;
boolean end = false;
while(i!=MOD && !end) {
if(c[MOD-1-i]!=MOD-1) {
if(c[x]==END[x]) {
int j;
for(j=END[x]; j<MOD && c[j]==END[j]; j++) {}
if(j==MOD-1) end = true;
}
c[MOD-1-i]++;
i = 0;
} else {
c[MOD-1-i] = 0;
i++;
continue;
}
if(check(c)) bijections.add(c);
}
if(check(END)) bijections.add(END);
Code:
if(check(START)) bijections.add(START);
Code:
if(check(c)) bijections.add(c);
Code:
if(check(END)) bijections.add(END);
Code:
0 1 3 3 3 id: 0
0 1 3 3 4 id: 1
0 1 4 2 0 id: 2
0 1 4 2 1 id: 3
0 1 4 2 2 id: 4
0 1 4 2 3 id: 5
0 1 4 2 4 id: 6
0 2 0 0 0 id: 7
0 2 0 0 1 id: 8
0 2 0 0 2 id: 9
0 2 0 0 3 id: 10
0 2 0 0 4 id: 11
0 2 1 1 0 id: 12
0 2 1 1 1 id: 13
0 2 1 1 2 id: 14
0 2 1 1 3 id: 15
0 2 1 1 4 id: 16
0 2 2 4 0 id: 17
0 2 2 4 1 id: 18
0 2 2 4 2 id: 19
0 2 2 4 3 id: 20
0 2 2 4 4 id: 21
Code:
0 2 3 0 1
0 2 3 0 1
0 2 3 0 1
0 2 3 0 1
0 2 3 0 1
0 2 3 0 1
0 2 3 0 1
0 2 3 0 1
0 2 3 0 1
0 2 3 0 1
Code:
0 1 3 3 4
0 1 3 3 4
0 1 4 2 0
0 1 4 2 0
0 1 4 2 0
0 1 4 2 1
0 1 4 2 1
0 1 4 2 1
0 1 4 2 1
0 1 4 2 2
0 1 4 2 2
0 1 4 2 2
0 1 4 2 2
0 1 4 2 2
0 1 4 2 3
0 1 4 2 3
0 1 4 2 3
0 1 4 2 3
0 1 4 2 3
0 1 4 2 3
0 1 4 2 4
0 1 4 2 4
0 1 4 2 4
0 1 4 2 4
0 1 4 2 4
0 1 4 2 4
0 1 4 2 4
0 2 0 0 0
0 2 0 0 0
0 2 0 0 0
0 2 0 0 0
0 2 0 0 0
0 2 0 0 0
0 2 0 0 0
0 2 0 0 0
0 2 0 0 1
0 2 0 0 1
0 2 0 0 1
0 2 0 0 1
0 2 0 0 1
0 2 0 0 1
0 2 0 0 1
0 2 0 0 1
0 2 0 0 1
0 2 0 0 2
0 2 0 0 2
0 2 0 0 2
0 2 0 0 2
0 2 0 0 2
0 2 0 0 2
0 2 0 0 2
0 2 0 0 2
0 2 0 0 2
0 2 0 0 2
0 2 0 0 3
0 2 0 0 3
0 2 0 0 3
0 2 0 0 3
0 2 0 0 3
0 2 0 0 3
0 2 0 0 3
0 2 0 0 3
0 2 0 0 3
0 2 0 0 3
0 2 0 0 3
0 2 0 0 4
0 2 0 0 4
0 2 0 0 4
0 2 0 0 4
0 2 0 0 4
0 2 0 0 4
0 2 0 0 4
0 2 0 0 4
0 2 0 0 4
0 2 0 0 4
0 2 0 0 4
0 2 0 0 4
0 2 1 1 0
0 2 1 1 0
0 2 1 1 0
0 2 1 1 0
0 2 1 1 0
0 2 1 1 0
0 2 1 1 0
0 2 1 1 0
0 2 1 1 0
0 2 1 1 0
0 2 1 1 0
0 2 1 1 0
0 2 1 1 0
0 2 1 1 1
0 2 1 1 1
0 2 1 1 1
0 2 1 1 1
0 2 1 1 1
0 2 1 1 1
0 2 1 1 1
0 2 1 1 1
0 2 1 1 1
0 2 1 1 1
0 2 1 1 1
0 2 1 1 1
0 2 1 1 1
0 2 1 1 1
0 2 1 1 2
0 2 1 1 2
0 2 1 1 2
0 2 1 1 2
0 2 1 1 2
0 2 1 1 2
0 2 1 1 2
0 2 1 1 2
0 2 1 1 2
0 2 1 1 2
0 2 1 1 2
0 2 1 1 2
0 2 1 1 2
0 2 1 1 2
0 2 1 1 2
0 2 1 1 3
0 2 1 1 3
0 2 1 1 3
0 2 1 1 3
0 2 1 1 3
0 2 1 1 3
0 2 1 1 3
0 2 1 1 3
0 2 1 1 3
0 2 1 1 3
0 2 1 1 3
0 2 1 1 3
0 2 1 1 3
0 2 1 1 3
0 2 1 1 3
0 2 1 1 3
0 2 1 1 4
0 2 1 1 4
0 2 1 1 4
0 2 1 1 4
0 2 1 1 4
0 2 1 1 4
0 2 1 1 4
0 2 1 1 4
0 2 1 1 4
0 2 1 1 4
0 2 1 1 4
0 2 1 1 4
0 2 1 1 4
0 2 1 1 4
0 2 1 1 4
0 2 1 1 4
0 2 1 1 4
0 2 2 4 0
0 2 2 4 0
0 2 2 4 0
0 2 2 4 0
0 2 2 4 0
0 2 2 4 0
0 2 2 4 0
0 2 2 4 0
0 2 2 4 0
0 2 2 4 0
0 2 2 4 0
0 2 2 4 0
0 2 2 4 0
0 2 2 4 0
0 2 2 4 0
0 2 2 4 0
0 2 2 4 0
0 2 2 4 0
0 2 2 4 1
0 2 2 4 1
0 2 2 4 1
0 2 2 4 1
0 2 2 4 1
0 2 2 4 1
0 2 2 4 1
0 2 2 4 1
0 2 2 4 1
0 2 2 4 1
0 2 2 4 1
0 2 2 4 1
0 2 2 4 1
0 2 2 4 1
0 2 2 4 1
0 2 2 4 1
0 2 2 4 1
0 2 2 4 1
0 2 2 4 1
0 2 2 4 2
0 2 2 4 2
0 2 2 4 2
0 2 2 4 2
0 2 2 4 2
0 2 2 4 2
0 2 2 4 2
0 2 2 4 2
0 2 2 4 2
0 2 2 4 2
0 2 2 4 2
0 2 2 4 2
0 2 2 4 2
0 2 2 4 2
0 2 2 4 2
0 2 2 4 2
0 2 2 4 2
0 2 2 4 2
0 2 2 4 2
0 2 2 4 2
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 3
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
0 2 2 4 4
(Code abgeändert):
Java:
if(check(c)) {
bijections.add(c);
for(int[] b : bijections) {
for(int a: b) System.out.print(a + " ");
System.out.println();
}
System.out.println();
}