Java Quellcode Problem...?

... komplette Frage anzeigen

3 Antworten

In Deiner while-Schleife wird z von 1 bis 4 hochgezählt (die Schleife beginnt bei z=0 und bricht bei z=3 ab, aber direkt danach kommt noch Dein z++, das von auf 1-2-3-4 erhöht.
Das Array h ist aber mit [3] dimensioniert, es gibt  also nur h[0], h[1], h[2].
Du solltest z++ also an das Ende der Schleife setzen und als Bedingung für die Schleife (z<3) angeben.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Oubyi
02.12.2015, 23:37

Danke fürs

0

Ich würde z erst am Ende der Schleife inkrementieren. Die meisten Programmiersprachen starten ihre Arrays bei 0. Du schreibst wahrscheinlich mit deinem Programm außerhalb des reservierten Bereichs.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von PWolff
25.11.2015, 00:22

Stimmt.

Bei der Definition eines Java-Arrays wird zwischen den eckigen Klammern die Kapazität angegeben, also die Anzahl der enthaltenen Elemente. Das ist der höchste Index + 1. Der niedrigste Index ist 0.

@Paranormal43: Du solltest z von 0 bis 3-1 laufen lassen. (Wenn ihr die for-Schleife durchnehmt, kriegt ihr das noch im Detail erklärt.)

0

kannst du den code mal posten? man kann ihn nicht lesen. Wenn da NullPointerException steht dann ist irgendwas was du abfragen willst leer.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Paranormal43
25.11.2015, 17:19

package de.java.buch;

public class Hobbits {

String name;

public static void main(String[] args) {

Hobbits [] h = new Hobbits[1];

int z = 0;

while (z < 1) {

h[z].name= "Frodo";

 System.out.println(h[z].name);

z++;

break;

}

}

}

0