Zitat:
|
Zitat von redfalcon Danke, also dem dem Code funzts jetzt: Code: import java.util.*;
public class notendurch {
public int[] noten = new int[16];
public String[] namen = new String[4];
public double durchschnitt;
public int[] spiegel =new int[16]; |
ok der Teil scheint in Ordnung zu sein
Zitat:
|
Zitat von redfalcon Code: public void notenspiegel() {
for (int i = 0; i <noten.length; i++){
spiegel[i] = 0;
for (i = 0; i <spiegel.length; i++)
{
spiegel[noten[i]]++;
}
}
} |
ich habe mal die problematischen Sachen rot markiert, wenn du nämlich genau hinsiehst, dann hast du die beiden for schleifen verschatelt, das ist aber keine gute Idee, da du in der äußeren For-Schleife immer eine Null-Zuweisung hast, verfälscht du damit das Ergbnis, außerdem wiederholst du die Spiegelberechnung so oft wie die Anzahl der Noten ist, dh. du berechnest nicht 16 Werte (0-15), sondern 16x16 (da 2 For-Schleifen), probiers mal so:
Code:
public void notenspiegel() {
for (int i = 0; i <noten.length; i++)
spiegel[i] = 0;
for (i = 0; i <spiegel.length; i++)
{
spiegel[noten[i]]++;
}
} der Rest des codes sieht gut aus
wie das mit den Nullen kommt, kann ich mir aber grad auch ned erklären, behebe mal den Fehler da oben und dann schauen wir weiter