G
gagamel
Gast
Hi!
Ich habe irgendwie ein leichtest Verständnisproblem mit dem Scanner aus java.util. Ich benutze ich zum einlesen eines Wertes, was auch wunderbar funktioniert, solange der Wert das ist, was man erwartet.
Da man jedoch immer von dummen Benutzern ausgehen sollte, wollte ich, dass das Programm auch bei falscher Eingabe weitermacht und nicht abstürzt. Aber scheinbar überlebt das der Scanner nicht.
Warum ist das nicht möglich:
Tippfehler könnten drin sein, da ich es gerade nicht kopieren könnte, aber der Gedanke sollte ansich erkennbar sein
Warum funktioniert das einlesen nicht mehr, wenn beim ersten mal z.B. ein Buchstabe eingegeben wurde? (Endlosschleife)
Wäre nett wenn mir das einererklären könnte
Danke schonmal
Grüße [/code]
Ich habe irgendwie ein leichtest Verständnisproblem mit dem Scanner aus java.util. Ich benutze ich zum einlesen eines Wertes, was auch wunderbar funktioniert, solange der Wert das ist, was man erwartet.
Da man jedoch immer von dummen Benutzern ausgehen sollte, wollte ich, dass das Programm auch bei falscher Eingabe weitermacht und nicht abstürzt. Aber scheinbar überlebt das der Scanner nicht.
Warum ist das nicht möglich:
Code:
...
...
...
{
Scanner sc=new Scanner(System.in);
boolean neustart;
byte eingabe;
do
{
neustart=false;
System.out.println("Bitte wählen sie");
System.out.println("(1)...");
System.out.println("(2)....");
try{
eingabe=sc.nextByte();
}
catch(Exception e) {
eingabe=3;
}
switch (eingabe){
case 1: System.out.println("1");break,
case 2: System.out.println("2");break,
default: {neustart=true; System.out.println("Falsche eingabe"); }
}
}
while (neustart==true)
Tippfehler könnten drin sein, da ich es gerade nicht kopieren könnte, aber der Gedanke sollte ansich erkennbar sein
Warum funktioniert das einlesen nicht mehr, wenn beim ersten mal z.B. ein Buchstabe eingegeben wurde? (Endlosschleife)
Wäre nett wenn mir das einererklären könnte
Danke schonmal
Grüße [/code]