ich hab hier ein problem das Progamm zumlaufen zubringen. Ich hab mich eigentlich streng an denn Pseudocode gehalten. Jedoch weiss ich nicht wieso mein Array eine outofBounds exeption wirft oder wieso mein Array nicht sortiert wird. http://www.hashimi.ws/cs223/figs/cs223fig33.pdf -> Seite 2
int count[] = new int[a.length];
for (int i = 0; i < a.length; i++) {
count** = 0;
}
for (int i = 0; i < a.length - 1; i++) {
for (int j = i + 1; j < a.length; j++) {
System.out.println("i: " + i + " j: " + j);
if (a** < a[j]) {
count[j] = count[j] + 1;
} else {
count** = count** + 1;// a[0] = 1 ; a[1] =2
}
}
}
int s[] = new int[a.length];
for (int i = 0; i < a.length; i++) {
s[count**] = a**;//2
}
return s;
}```
Ein Fehler ist, dass in Zeile 9 nicht `int j = i + 1` steht. Ob noch weitere enthalten sind, kann ich nicht sagen, weil ich nicht getestet habe.
Hast du das ausprobiert? Durch bloßes draufschauen sieht das für mich so aus, als ob jetzt alle Indizes (die oberen Grenzen) falsch wären.
Außerdem hat das Array s laut der pdf dieselbe Größe wie das Array a.
Die Ausgabe ist nicht das Ergebnis, sondern eine Debugausgabe, die die Schleifenvariablen ausgibt. Anika hat die wahrscheinlich bei der Suche nach der ArrayIndexOutOfBoundsException verwendet. Da wäre ein Debugger zwar deutlich besser gewesen, aber so funktioniert das auch.
Bei deiner Testeingabe kommt ein Array mit folgenden Werten raus: