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; }