Endlosschleife, aber warum?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Kurze Beschreibung:

Für die Variable a soll eine Integer Zahl über eine Eingabe eingelesen werden. Falls vom Benutzer statt einer Zahl ein Buchstabe eingeben wird soll eine Fehlermeldung ausgeben werden und in einer Schleife zurück zur Eingabe geleitet werden.

Habe mir folgendes überlegt:

Code:
 L:
            for (;;) {
                       
                       System.out.println ("a eingeben!");
                       a=IO.readInt();
                       if (IO.isOk()){
                           break L;
                       }
                      else {
                           System.out.println ("a falsch eingeben!");
                           continue L;
                        }
              }

Ist nur der Ausschnitt der Schleife. Das Einlesen funktioniert und auch die (IO.isOk)Abfrage...nur bei einem eingebenen Buchstaben kommt es zu einer Endlosschleife, weil man die Variable a nicht nocheinmal eingeben kann. Woran liegt das? Oder ist meine Schleifenkonstruktion falsch?

Für Tips wäre ich sehr dankbar...
 
B

Beni

Gast
Keine Ahnung was IO sein soll, aber vielleicht liest "readInt" keine Buchstaben. Da bleibt dann immer was stecken, und daher kehrt "readInt" sofort zurück?
 
N

na-oma

Gast
mit

break L;

brichst du zwar die schleife ab, aber du springst zurück zum Label L

L:

dieses ist vor der Schleife, so wird sie immer wieder ausgeführt.

Was du willst ist sicher
Code:
for (;;) {
                       
                       System.out.println ("a eingeben!");
                       a=IO.readInt();
                       if (IO.isOk()){
                           break;
                       }
                      else {
                           System.out.println ("a falsch eingeben!");
                           continue;
                        }
              }

so geht das ganze ohne Labels und es ist klarer was passiert.
Labels werden selten benutzt, wenn man sie nicht unbedingt braucht: drauf verzeichten.
 
G

Guest

Gast
danke für die Hilfe. Leider bringt der Tip rein gar nichts. Die Endlosschleife gibt es weiterhin... ???:L

also mir fällt nix mehr ein, weil ich nicht verstehe warum man a nicht neu setzen darf wenn man wieder am Anfang der Schleife angekommen ist...
 
B

bygones

Gast
würd ich es auch ohne label machen - ist unnötig

sry ich versteh nicht ganz:
also mir fällt nix mehr ein, weil ich nicht verstehe warum man a nicht neu setzen darf wenn man wieder am Anfang der Schleife angekommen ist...
wie a neu setzen ?

da das Schleifenkonstrukt so in Ordnung ist, tipp ich auch auf diese IO Dingsens... Probiers mal mit dem normalen BufferedReader und System.in
 
G

Gast

Gast
das IO ist der Input vom User.also die Eingabe vom Keyboard. Der Sinn der Schleife ist ja, dass man wieder zur Eingabe von a kommt, wenn man etwas falsch gemacht hat. Zum Anfang der Schleife kommt man ja, das erkenn ich an der Nachricht die in der Endlosschleife ausgeben wird, aber man kann eben nichts neues eingeben für a. Ich werd s mal anders probieren. Danke.
 

thE_29

Top Contributor
Hör auf mit Label Programmierung!!

Dabei kommt nix gutes raus außerdem zerstört es die OO Programmierung!!


Nimm Methoden statt Labels und aus!
 
B

Beni

Gast
na-oma hat gesagt.:
mit
break L;
brichst du zwar die schleife ab, aber du springst zurück zum Label L
Mit einem Wort: "nö" :bae: (nen Testcode kannst du dir selbst schreiben :wink:)

gast: Dass IO die Usereingaben darstellt ist schon klar, nur was es *genau* macht, wissen wir nicht :wink:
 
G

Gast

Gast
So mitlerweile hab ich rausgefunden dass dieser IO.readInt() schuld ist. danach kann a nicht erneut vom user eingeben werden.

Immerhin. Bin Anfnger, deswegen weiss ich nicht wie der System.in befehl aussieht.

wie kann ich damit ausdrücken dass der Input des Users a zugewiesen wird, mit diesem System.in befehl.

Über Google finde ich nix und ich habe gerade mein Java-Buch nicht dabei...;)

wär cool wenn ihr mir das schnell reinschreiben könntet.

Wenn nicht, trotzdem danke für die Hilfe.

Schönen Gruß
 
B

bygones

Gast
Endlosschleifen-Gast hat gesagt.:
sorry und vielen dank für die große hilfe...
musst dich nicht entschuldigen - das IOTool ist bei uns schon gut bekannt und daher immer wieder gern gesehen :p

entschuldigen muss sich eher der Author des Tools....
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Interpreter-Fehler Endlosschleife zur Laufzeit aber warum? Java Basics - Anfänger-Themen 15
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
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
T 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 beenden Java Basics - Anfänger-Themen 10
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
monsterherz Fehler Semikolon fehlt - ich weiss aber nicht wo da noch eines hin sollte... Java Basics - Anfänger-Themen 21
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
H Kapselung protected aber in einer Kindklasse nicht zugänglich Java Basics - Anfänger-Themen 5
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
P Installation JRE 8u321 startet, geht aber nicht weiter Java Basics - Anfänger-Themen 1
berserkerdq2 Ich gebe eine ArrayList als List zurück per MEthode, wie kann ich nun aber die ArrayList speichern? Java Basics - Anfänger-Themen 46
L Mergesort (aber anders) Java Basics - Anfänger-Themen 2
P Mein Programm wird zwar erfolgreich Compiliert, öffnet sich aber nicht Java Basics - Anfänger-Themen 6
HelpInneed Baum ausgeben (aber mal anders) Java Basics - Anfänger-Themen 3
U Kann man bei Java gleich mehrere Bedingungen prüfen in der If, aber in einem "Satz"? Java Basics - Anfänger-Themen 1
H Kapselung JProgressBar in JTable, aber getValueAt() greift nicht Java Basics - Anfänger-Themen 7
U Den Kuchen aufteilen - aber wie? (Rebalancing-Algorithmus) Java Basics - Anfänger-Themen 14
OSchriever Jar-Programm läuft auf Windows aber nicht auf Linux(Raspberri Pi4) Java Basics - Anfänger-Themen 22
R Fehlermeldung aber WO liegt der Fehler? Java Basics - Anfänger-Themen 7
I DecimalFormat in Zahlenformat für Währung, habe 7,99, bekomme aber 7 Java Basics - Anfänger-Themen 4
CptK Generics: Klassen die Interface implementieren, aber selbst nicht das Interface sind Java Basics - Anfänger-Themen 8
AGW App programmiert lassen, aber Änderungen vornehmen Java Basics - Anfänger-Themen 13
B Interface List - Objekt übergeben? Einzelnes Objekt geht, aber Liste nicht? Java Basics - Anfänger-Themen 4
B Fehler, aber ich weiß nicht warum Java Basics - Anfänger-Themen 3
J Fehler im Code, aber ich weiß nicht wieso! Java Basics - Anfänger-Themen 6
B Java Mail -> Mail senden, ist aber nich in IMAP unter "Gesendet" Java Basics - Anfänger-Themen 3
A Figur erkennen, aber Abweichung falsch Java Basics - Anfänger-Themen 2
A Haben KNNs ein Gedächtnis, lernen etwas oder verändern sich, während sie nicht trainieren, aber aktiv sind? Java Basics - Anfänger-Themen 3
C "HelloWorld" - Dateien erstellt, aber ist es eine class-Datei? Java Basics - Anfänger-Themen 2
S Programmierung simulieren - aber wie?! Java Basics - Anfänger-Themen 3
J Mit OpenJDK entwickeln aber Oracle SE Runtime installieren? Java Basics - Anfänger-Themen 6
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
A Java-Programm läuft bei installierter JDK aber nicht mit JRE? Java Basics - Anfänger-Themen 5
C Statischer Typ aber Variable nicht statisch? Java Basics - Anfänger-Themen 5
J ShortCut erstellen aber wie die dll einbinden Java Basics - Anfänger-Themen 3
I "\n" aus ArrayList enfernen, aber wie?! Java Basics - Anfänger-Themen 4
B Türme von Hanoi mit einer beliebigen aber gültigen Eingabe lösen Java Basics - Anfänger-Themen 5
S JDK 9 für Windows 32 bit installiert, aber es funktioniert nix Java Basics - Anfänger-Themen 6
D Zwei Strings sind gleich bei if aber nicht true Java Basics - Anfänger-Themen 2
U Null Exception aber keine Ahnung warum Java Basics - Anfänger-Themen 5
J Strings sind gleich werden aber ungleich ausgewertet Java Basics - Anfänger-Themen 2
A Kfz - Händler Klasse. JUnit-Test gibt noch Fehler an, aber finde Ursache nicht Java Basics - Anfänger-Themen 7
J JavaEditor kompiliert aber startet nicht Java Basics - Anfänger-Themen 1
B Email versand - aber akzeptiert auch falscher Username und Passwort??? Java Basics - Anfänger-Themen 1
O Array benutzen aber WIE? Java Basics - Anfänger-Themen 18

Ähnliche Java Themen

Neue Themen


Oben