Endlosschleife

Toretto

Mitglied
Hi

hätte mal ein Problem mit einer Endlosschleife.

Java:
import java.util.*;

public class Main 
{
	public static void main(String [] args)
	{
		Scanner scan = new Scanner(System.in);
		int uhrZeitStd;
		while(true)
		{
			System.out.println("Geben sie bitte die Uhrzeit(Stunden) des Termines ein(24H System).");
			try
			{
				uhrZeitStd = scan.nextInt();
				if(uhrZeitStd>=0 && uhrZeitStd<24)
					break;
				else
				{
					System.out.println("Sie haben eine ungültige Uhrzeit(Stunden) eingegeben.");
				}
			}
			catch(InputMismatchException e)
			{
				System.out.println("Sie haben eine ungültige Uhrzeit(Stunden) eingegeben.");
			}
		}
	}
}

Ich soll nen Terminkalender programmieren, dabei will ich Uhrzeit,Datum... einlesen.
Fallbeispiel hier:
Ich will die Uhrzeit(nur Std) einlesen. Habs in ne Endlosschleife gepackt, damit es solang wiederholt wird, bis die Eingabe richtig ist.
Try Catch hab ich noch eingefügt falls man statt nem integer einen String o.ä. eingibt. (Beispiel: Eingabe: "a")

So falls die Eingabe dann eben richtig ist, wird die Endlosschleife durch das "break;" abgebrochen.
(funktioniert)

Falls die Eingabe zwar eine Zahl ist, aber nicht im Wertebereich liegt, läuft die while Schleife ein zweites,drittes... mal, bis die Eingabe richtig ist.
(funktioniert)

Falls die Eingabe jetzt aber z.B. ein Buchstabe oder Wort ist, wird der Fehler durch das Catch abgefangen. Anschließend startet er aber nicht mehr mit der Eingabe sondern gibt einfach unendlich oft....

Code:
Geben sie bitte die Uhrzeit(Stunden) des Termines ein(24H System).
Sie haben eine ungültige Uhrzeit(Stunden) eingegeben.

Geben sie bitte die Uhrzeit(Stunden) des Termines ein(24H System).
Sie haben eine ungültige Uhrzeit(Stunden) eingegeben.

aus.

Jetzt meine Frage, wie änder ich das??
Ich versteh das derzeit so, das dem Integer wirklich ein Buchstabe zugewiesen wurde(obwohl das denk ich eig nicht geht?????:L) und deshalb nicht mal das try-statement aufgerufen wird, sondern sofort das catch statement ausgeführt wird.

Hab dann versucht am Anfang der While Schleife der Variable uhrZeitStd den Wert 0 zu geben.
Java:
while(true)
{
       uhrZeitStd = 0;
.....

Hat aber auch nicht funktioniert. Jetzt bin ich grad ein wenig ratlos, da ich net weiß, wie ichs anders machen soll oder wie ich das obige Problem lös.

Danke Schonmal für die Hilfe.

Toretto
 
I

irgendjemand

Gast
problem ist : wenn die exception ausgelöst wird steht der ungültige wert noch im scanner ... darum wird beim nächsten durchlauf die exception gleich wieder ausgelöst ...

lösung wäre : im catch einfach mit scanner.next() den ungültigen wert rausholen ...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Hilfe bei Endlosschleife Java Basics - Anfänger-Themen 2
B In einem Thread Endlosschleife beenden Java Basics - Anfänger-Themen 19
noah1407 endlosschleife Java Basics - Anfänger-Themen 7
G Endlosschleife keine Rückgabe Java Basics - Anfänger-Themen 36
sserio Endlosschleife ja nein? Java Basics - Anfänger-Themen 13
javapingu Endlosschleife bei User Input mit try Scanner Java Basics - Anfänger-Themen 7
B Endlosschleife Thread sauber beenden Java Basics - Anfänger-Themen 19
S While-Schleife geht in Endlosschleife über, warum? Java Basics - Anfänger-Themen 6
O Endlosschleife abbrechen Java Basics - Anfänger-Themen 10
S Endlosschleife beim Ausgeben einer LinkedList Java Basics - Anfänger-Themen 2
S Interpreter-Fehler Endlosschleife zur Laufzeit aber warum? Java Basics - Anfänger-Themen 15
T Erste Schritte Endlosschleife & wozu braucht man /* und */ Java Basics - Anfänger-Themen 19
J Endlosschleife bei Try-Catch? Java Basics - Anfänger-Themen 3
S Endlosschleife - Warum? Java Basics - Anfänger-Themen 1
C Endlosschleife bei füllen von Daten im JTable Java Basics - Anfänger-Themen 5
C Collatzfolge endlosschleife. Java Basics - Anfänger-Themen 4
D Array in Endlosschleife überschreibt vorherige Werte Java Basics - Anfänger-Themen 4
E Eulersche Zahl berechnen, Endlosschleife Java Basics - Anfänger-Themen 2
N Endlosschleife... Warum? Java Basics - Anfänger-Themen 12
P Kapselung Problem - Endlosschleife Java Basics - Anfänger-Themen 10
M Endlosschleife bricht durch switch ab Java Basics - Anfänger-Themen 17
D Endlosschleife und ich komme nicht raus! Java Basics - Anfänger-Themen 8
N Erste Schritte Endlosschleife und Exception Java Basics - Anfänger-Themen 5
R Endlosschleife nach InputMismatchException Java Basics - Anfänger-Themen 2
S Endlosschleife? Java Basics - Anfänger-Themen 2
Z Endlosschleife Java Basics - Anfänger-Themen 6
T Endlosschleife Java Basics - Anfänger-Themen 12
H Wieso ist das eine Endlosschleife? Java Basics - Anfänger-Themen 8
StupidAttack Endlosschleife, Sockets Java Basics - Anfänger-Themen 2
C ungewollte Abbrüche in einer Endlosschleife Java Basics - Anfänger-Themen 6
E komische endlosschleife Java Basics - Anfänger-Themen 6
7 Endlosschleife pausieren Java Basics - Anfänger-Themen 11
F .readLine() erzeugt endlosschleife Java Basics - Anfänger-Themen 4
R Wieso hänge ich hier in einer Endlosschleife (vermute ich zumindest)? Java Basics - Anfänger-Themen 2
F Falscheingabe abfangen - Endlosschleife Java Basics - Anfänger-Themen 5
R warum endlosschleife? Java Basics - Anfänger-Themen 7
W Fakultät, warum Endlosschleife? Java Basics - Anfänger-Themen 15
S JTable Endlosschleife Java Basics - Anfänger-Themen 5
J Aus endlosschleife kommen Java Basics - Anfänger-Themen 5
R Endlosschleife verhindert das Schließen des Fensters Java Basics - Anfänger-Themen 10
Povlsen84 Endlosschleife Java Basics - Anfänger-Themen 5
V Bubble Sort endet in Endlosschleife Java Basics - Anfänger-Themen 4
Antoras Endlosschleife Java Basics - Anfänger-Themen 8
J Wartezustand in Endlosschleife - bessere Alternativen Java Basics - Anfänger-Themen 20
H Problem beim Einlesen einer Datei (Endlosschleife ?) Java Basics - Anfänger-Themen 3
N Endlosschleife? Java Basics - Anfänger-Themen 3
V mehrere Threads starten + Endlosschleife Java Basics - Anfänger-Themen 3
I Hilfe wer findet mein Fehler in bei der Endlosschleife Java Basics - Anfänger-Themen 7
G Sound/Endlosschleife/Abbruchproblem Java Basics - Anfänger-Themen 3
G HappyNumbers - Endlosschleife Java Basics - Anfänger-Themen 11
0 Endlosschleife beim Integer Array mischen? Java Basics - Anfänger-Themen 3
M OutputStream funktioniert nur in Endlosschleife ? Java Basics - Anfänger-Themen 4
G Endlosschleife, aber warum? Java Basics - Anfänger-Themen 12
G Endlosschleife beenden Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben