Wo steckt der Fehler in diesem Programm? Die Erklärung finden Sie durch Anklicken der Zeile.
Der Übersetzungsversuch mit javac LeereAnweisung.java
bringt folgende Fehlermeldung:
LeereAnweisung.java:20: error: cannot find symbol
System.out.println(a[i]);
^
symbol: variable i
location: class LeereAnweisung
1 error
Das Problem liegt aber nicht in der Zeile 20, sondern in der Zeile 19.
Dort steht am Ende der Zeile eine Semikolon.
Das Semikolon hat dort die Bedeutung leere Anweisung.
Die for-Schleife führt also viermal die leere Anweisung aus und
der Aufruf von println steht außerhalb der Schleife.
Außerhalb der Schleife gibt es aber die Variable i nicht.
Als menschlicher Leser lässt man sich leicht von der Einrückung der Zeile 20
täuschen. Der Compiler javac interessiert sich aber nicht für
Einrückungen.
Wenn Sie das Semikolon am Ende von Zeile 19 löschen, funktioniert das Programm.