G
GreenThunder
Hallo,
mein Aufgabe heute ist es eine Methode zu schreiben, die vom Nutzer die Eingabe einer ganzen Zahl fordert. Auf folgende Fehleingaben soll eine Fehlermeldung folgen:
- eingegebene Zahl nicht im Wertebereich (WB)
- Eingabe einer leeren Zeichenkette
Grundsätzlich funktioniert das auch, doch wenn ich einmal aus der "Leere"-While-Schleife herausgekommen bin, komme ich nicht wieder rein.
D.h. gebe ich eine 23 ein, die außerhalb des WB (0-20) liegt bekomme ich die Aufforderung:
Gebe nun nichts ein, so erscheint die selbe Fehlermeldung, er arbeitet also wieder nur in der "WB"-While-Schleife.
Kann mir jemand einen Rat geben?
mein Aufgabe heute ist es eine Methode zu schreiben, die vom Nutzer die Eingabe einer ganzen Zahl fordert. Auf folgende Fehleingaben soll eine Fehlermeldung folgen:
- eingegebene Zahl nicht im Wertebereich (WB)
- Eingabe einer leeren Zeichenkette
Grundsätzlich funktioniert das auch, doch wenn ich einmal aus der "Leere"-While-Schleife herausgekommen bin, komme ich nicht wieder rein.
D.h. gebe ich eine 23 ein, die außerhalb des WB (0-20) liegt bekomme ich die Aufforderung:
Bitte geben Sie eine ganze Zahl ein!: 23
Die eingegebene Zahl liegt ausserhalb des Wertebereiches 0 <= k <= 20!
Bitte geben Sie eine ganze Zahl ein!:
Gebe nun nichts ein, so erscheint die selbe Fehlermeldung, er arbeitet also wieder nur in der "WB"-While-Schleife.
Bitte geben Sie eine ganze Zahl ein!:
Die eingegebene Zahl liegt ausserhalb des Wertebereiches 0 <= k <= 20!
Bitte geben Sie eine ganze Zahl ein!:
Kann mir jemand einen Rat geben?
PHP:
import java.io.*;
public class AufgabeZwei
{
static int eingabe(int min, int max) throws IOException
{
BufferedReader din = new BufferedReader(
new InputStreamReader(System.in));
int k; String s;
System.out.print("Bitte geben Sie eine ganze Zahl ein!: ");
s = String.valueOf(din.readLine());
while(s.equals("")==true)
{
System.out.println("Sie haben keine Zeichen eingegeben!");
System.out.print("Bitte geben Sie eine ganze Zahl ein!: ");
s = String.valueOf(din.readLine());
}
k = Integer.parseInt(s);
while (k < min || k > max)
{
System.out.println("Die eingegebene Zahl liegt ausserhalb des Wertebereiches 0 <= k <= 20!");
System.out.print("Bitte geben Sie eine ganze Zahl ein!: ");
s = String.valueOf(din.readLine());
}
return k;
}
public static void main (String[] args) throws IOException
{
BufferedReader din = new BufferedReader(
new InputStreamReader(System.in));
eingabe(0,20);
}
}