E:\hiwi\temp>javac Exueb8.java
Exueb8.java:21: cannot resolve symbol
symbol : variable zahl
location: class Exueb8
zahl = 0.5;
^
Exueb8.java:24: cannot resolve symbol
symbol : variable zahl
location: class Exueb8
System.out.println(zahl);
^
2 errors
Der Fehler besteht darin, dass zahl innerhalb eines Blocks deklariert ist (nämlich innerhalb des try-Blocks) und damit die Deklaration nur innerhalb dieses Blocks gütig ist, aber nicht mehr außerhalb, so dass dort der Bezeichner unbekannt ist.
Zur Abhilfe deklarieren wir zahl einfach in der ersten Zeile der main-Methode:
public static void main(String[] args) {
double zahl;
// Bestimme eine Zufallszahl zwischen 0 und 0.5
try {
zahl = gibZufallszahlBisEinhalb();
}
...
Einige Autoren empfehlen sogar, aus Gründen der Übersichtlichkeit alle innerhalb
einer Methode benöntigten lokalen Variablen zu Beginn der Methode zu deklarieren.
catch(Exception e) {
System.out.println( "(Exception aufgetreten)" );
zahl = 0.5;
}