Siforce
Lt. Junior Grade
- Registriert
- Nov. 2001
- Beiträge
- 394
Hi, ich programmiert seit etwa 2 Wochen mit Java und hab jetzt ein kleines Programm geschrieben, jedoch habe ich ein Problem, hier erstmal das wichtigste:
System.out.println (" Bitte Noten eingeben, 0 zum beenden");
z = IOTools.ReadSimple.readInteger ();
TestSchleife:
while (z!=0) {
switch (z) {
case 1:
z1++;
break;
case 2:
z2++;
break;
case 3:
z3++;
break;
case 4:
z4++;
break;
case 5:
z5++;
break;
case 6:
z6++;
break;
default:
System.out.println (" Fehler, falsche Eingabe");
} // Switch-Schleife
z = IOTools.ReadSimple.readInteger ();
} // while-Schleife
Bei diesem Programm kann man Noten von 1-6 eingeben, die dann später in einer Tabelle ausgedruckt werden. Bei der Eingabe von 0 wird das Programm beendet. Jedoch will ich, das ,nachdem man 0 eingegeben hat, eine Abfrage kommt, ob man wirklich beenden will. Dazu hab ich diesen Text geschrieben und hinter das letzte "z=IOTools.ReadSimple.readInteger" und noch vor der while Klammer (zu) gesetzt:
if (z == 0)
{System.out.println ("Wirklich beenden? (j/n)");
d= IOTools.ReadSimple.readCharacter ();
switch (d) {
case 'j':
break TestSchleife;
case 'n':
z = IOTools.ReadSimple.readInteger ();
break;
default:
System.out.println ("Falsche Eingabe");
d= IOTools.ReadSimple.readCharacter ();
continue;
Es gibt jedoch ein ganz kleines Problem bei dieser Schleife:
wenn ich als erstes für d einen buchstaben ausser j oder n eingeben, fragt er ein 2. mal, mit der fehlermeldung "Falsche Eingabe", jedoch wird das Programm einfach beendet und die Tabelle gedruckt, wenn man ein 2. mal einen flaschen buchstaben eingibt!?
Was hab ich falsch gemacht?
System.out.println (" Bitte Noten eingeben, 0 zum beenden");
z = IOTools.ReadSimple.readInteger ();
TestSchleife:
while (z!=0) {
switch (z) {
case 1:
z1++;
break;
case 2:
z2++;
break;
case 3:
z3++;
break;
case 4:
z4++;
break;
case 5:
z5++;
break;
case 6:
z6++;
break;
default:
System.out.println (" Fehler, falsche Eingabe");
} // Switch-Schleife
z = IOTools.ReadSimple.readInteger ();
} // while-Schleife
Bei diesem Programm kann man Noten von 1-6 eingeben, die dann später in einer Tabelle ausgedruckt werden. Bei der Eingabe von 0 wird das Programm beendet. Jedoch will ich, das ,nachdem man 0 eingegeben hat, eine Abfrage kommt, ob man wirklich beenden will. Dazu hab ich diesen Text geschrieben und hinter das letzte "z=IOTools.ReadSimple.readInteger" und noch vor der while Klammer (zu) gesetzt:
if (z == 0)
{System.out.println ("Wirklich beenden? (j/n)");
d= IOTools.ReadSimple.readCharacter ();
switch (d) {
case 'j':
break TestSchleife;
case 'n':
z = IOTools.ReadSimple.readInteger ();
break;
default:
System.out.println ("Falsche Eingabe");
d= IOTools.ReadSimple.readCharacter ();
continue;
Es gibt jedoch ein ganz kleines Problem bei dieser Schleife:
wenn ich als erstes für d einen buchstaben ausser j oder n eingeben, fragt er ein 2. mal, mit der fehlermeldung "Falsche Eingabe", jedoch wird das Programm einfach beendet und die Tabelle gedruckt, wenn man ein 2. mal einen flaschen buchstaben eingibt!?
Was hab ich falsch gemacht?
Zuletzt bearbeitet: