Während einiger Versuche mit kleineren Testprogrammen bin ich auf ein merkwürdiges Problem gestoßen.
Definiere ich eine Variable innerhalb einer Schleife, kann ich diese in der Schleife nutzen (im Beispielcode: ausgeben und damit rechnen).
Außerhalb der Schleife ist sie nicht mehr verfügbar. Eine Ausgabe ist nicht mehr möglich. NetBeans zeigt mir auch keine Verknüpfung zwischen der Variable außerhalb und innerhalb der Schleife.
Woran liegt es? Hier der Beispielcode:
Definiere ich eine Variable innerhalb einer Schleife, kann ich diese in der Schleife nutzen (im Beispielcode: ausgeben und damit rechnen).
Außerhalb der Schleife ist sie nicht mehr verfügbar. Eine Ausgabe ist nicht mehr möglich. NetBeans zeigt mir auch keine Verknüpfung zwischen der Variable außerhalb und innerhalb der Schleife.
Woran liegt es? Hier der Beispielcode:
Java:
import java.util.Scanner;
public class versuchWhile {
public static void main(String[] args) {
// Variablen initialisieren
Scanner eingabeZahl; boolean eingabe = false;
// Eingabe wird wiederholt, bis eine gültige Zahl eingegeben wird
while (!eingabe) {
System.out.print("Bitte eine Zahl eingeben: ");
eingabeZahl = new Scanner(System.in);
if (eingabeZahl.hasNextInt()) {
eingabe = true; // gültig? Dann Schleife beenden
int zahlConvert = eingabeZahl.nextInt();
System.out.println("Die Zahl ist verfügbar: " + zahlConvert);
System.out.println("und man kann mit ihr rechnen: " + zahlConvert*2);
} else {
System.out.println("Keine gültige Zahl!");
eingabe = false; // ungültig? Dann Schleife wiederholen
}
}
// Netbeans makelt in Zeile 30 "cannot find symbol"
// "location: class versuchWhile"
System.out.println("Hier ist die Variable nicht mehr auffindbar: " + zahlConvert);
}
}
Zuletzt bearbeitet: