Wo ist der Fehler im Java code?

... komplette Frage anzeigen

3 Antworten

Wie schon von Destranix gesagt, musst du hinten bei


    System.out.print(y[x] + "]");


das y[x] durch y[x-1] ersetzen.
Deine for-schleife direkt davor gibt die Elemente von y[0] bis y[x-2] aus. Da fehlt noch y[x-1] (das letzte Array-Element - das ist nicht mehr in der Schleife drin). y[x] gibt es nicht, deshalb tritt die ArrayIndexOutOfBoundsException auf (du versuchst auf einen Array-Index zuzugreifen, den es nicht gibt).

Das Problem, dass der Fehler dann immer noch auftritt, habe ich nach kurzem Test nicht feststellen können, bei mir wird alles korrekt gezeigt (siehe Anhang)


Antwort bewerten Vielen Dank für Deine Bewertung

//Working Code down below ;)

public static void main(String[] args) {
int x;
Scanner s = new Scanner(System.in);
System.out.println("How many Integers do you want to save? ");
x = s.nextInt();
int[] y = new int[x];
for (int i = 0; i < x; i++) {
y[i] = s.nextInt();
}

System.out.print("[");
for (int i = 0; i < y.length; i++) {

if (i == y.length-1) {
System.out.print(y[i]);
}
else
{
System.out.print(y[i] + ", ");
}
}
System.out.print("]");
}

Antwort bewerten Vielen Dank für Deine Bewertung

In der ersten for Schleife änder mal x zu x-1.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von hk0tan
19.11.2016, 17:38

nein 

ha ich gefixd ih musste nur aus x y.length machen 

0

Was möchtest Du wissen?