Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Keine weitere (java.util.)Scanner Eingabemöglichkeit?
boolean ok=true;
java.util.Scanner sc = new java.util.Scanner(System.in);
while(ok){
System.out.println("Welche Tabellen wollen Sie verwalten?");
System.out.println("1. tabelle1");
System.out.println("2. tabelle2");
System.out.println("3. tabelle3");
try{
Integer eing1 = new Integer(sc.nextInt());
switch(eing1){
case 1:
ok=false;
break;
case 2:
ok=false;
break;
case 3:
ok=false;
break;
default:
System.out.println("Die Eingabe war falsch. Bitte eine richtige Zahl(1-6) eingeben.");
ok=true;
break;
}
}catch(Exception ex){
System.out.println("Fehler: Die Eingabe war falsch. Bitte eine richtige Zahl(1-6) eingeben.");
}
}
Wie man sehen kann versuche ich eine Eingabe mit dem Scanner einzulesen.
Wenn die Zahl 1,2 oder 3 ist wird die Variable 'ok' auf FALSE gesetzt, so dass die Schleife verlassen werden kann.
Mein Problem ist jetzt dass wenn ich statt 1,2 oder 3 z.B. 'a12ddf' eingebe und die Schleife wieder am Anfang ist, keine weiteren Eingabemöglichkeiten auftauchen. Das Inputfenster bleibt geschlossen und es gibt eine Endlosschleife.
Warum es mit Scanner nicht geht weiß ich nicht. Habe es so gelöst:
Code:
boolean ok=true;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
while(ok){
System.out.println("Welche Tabellen wollen Sie verwalten?");
System.out.println("1. tabelle1");
System.out.println("2. tabelle2");
System.out.println("3. tabelle3");
try{
String eingabe = in.readLine();
Integer eing1 = Integer.parseInt(eingabe);
switch(eing1){
case 1:
ok=false;
break;
case 2:
ok=false;
break;
case 3:
ok=false;
break;
default:
System.out.println("Die Eingabe war falsch. Bitte eine richtige Zahl(1-6) eingeben.");
ok=true;
break;
}
}catch(Exception ex){
System.out.println("Fehler: Die Eingabe war falsch. Bitte eine richtige Zahl(1-6) eingeben.");
}
}
jetzt wartet die Console auf die Eingabe.
p.s. Vielleicht sollte sich java-forum.org das eigene Leitbild ("Die Java-Community, in der einem garantiert geholfen wird.") nochmal überdenken :wink:
Der Scanner liest soweit er kann. Wenn er ein int lesen soll, und "a123bc" liest, kann er garnicht lesen, und gibt 0 zurück. Tja, und dann rufst du erneut "nextInt" auf... Mit "hasNextInt" kannst du im voraus herausfinden, ob da wirklich ein "int" kommt.
P.S. und speichere einen "int" in einem "int", und nicht in einem "Integer". Schau dir den Unterschied zwischen primitiver Datentyp und Wrapper an.
p.s. Vielleicht sollte sich java-forum.org das eigene Leitbild ("Die Java-Community, in der einem garantiert geholfen wird.") nochmal überdenken icon_wink.gif
p.s. Vielleicht sollte sich java-forum.org das eigene Leitbild ("Die Java-Community, in der einem garantiert geholfen wird.") nochmal überdenken icon_wink.gif
p.s. Vielleicht sollte sich java-forum.org das eigene Leitbild ("Die Java-Community, in der einem garantiert geholfen wird.") nochmal überdenken :wink:
im logo ist keine zeitangabe angegeben also kannste nicht erwarten das innerhalb ein paar stunden am VORMITTAG(die erwachsenen arbeiten, die anderen wie ich haben ferien und pennen bis 12^^) dir deine frage beantwortet wird.
Wenn du ein Tag wartest hast du meinst ne antwort.
Meine Fragen wurden bisher immer beantwortet, also würd ich sagen das das Logo schon richtig ist, man brauch nur bischen geduld.