Kleines Abbruch-Problem mit Do-While-Schleife

anfänger09

Mitglied
Hi Leute,

ganz neu hier, aber vielleicht jetzt öfter anzutreffen 😉. Somit erstmal ein dickes Hallo und einen schönen Abend!
Mein kleines Problem:

Java:
             do {
            System.out.println("Auftrag nicht erledigt (0) oder erledigt (1)?:");
                erledigt = "" + sc.nextLine() + "";
                System.out.println(erledigt);
            } while (!"0".equals(erledigt) || !"1".equals(erledigt));

ich hätte gerne, dass bei einer Eingabe einer "1" oder "0" die Schleife abgebrochen wird. Die Eingabe erfolgt über die Konsole (sc) und funktioniert auch (also, das was zurück gegeben wird ist gleich der Eingabe). Aber trotzdem bricht die Schleife nicht ab, wenn man "1" oder "0" tippt. Wieso?:rtfm:

Vielen Dank schonmal!
 
Willkommen im Forum^^

Eine kleine Anmerkung: Es reicht wenn du erledigt = sc.nextLine(); schreibst^^

Ansonsten ist dein Problem, dass du && verwenden musst.
Aktuell soll die Schleife solange wiederholt werden, wie die Eingabe ungleich null ist oder ungleich 1.
Wenn du also 1 eingibst, ist die eingabe ungleich 0 und wird wiederholt.
Gibst du 0 ein, ist sie ungleich 1 und wird wiederholt^^
 
Hi InfectedBytes!
Danke!
Ja, ich muss mir das mit den Operatoren nochmal genauer durchlesen, irgendwie hab ich diese Lösung ohne zu probieren ausgeschlossen^^
Hab die "" nur eingefügt gehabt, weil ich mir nicht sicher war, ob das Ganze dann als Integer verstanden wird - sind wieder draußen.🙂

Kurz dann noch ne Frage hinterher:
Die Variable eingabe ist als String deklariert, soll aber im nächsten Schritt in eine Datenbank eingefügt werden, aber als Bite (deswegen auch nur "0" oder "1". Wie kann ich Variable entsprechend neu casten?
 
Hi Maggot.
Ja, danke für deine Antwort. Das hatte ich auch schon versucht, nimmt die Datenbank aber nicht an, da ein Byte länger als ein Bit ist. Ich hab das ganze jetzt mir einer if - else - Anweisung verschachtelt, und geb einfach, je nach Fall, statt der Variable den Wert selbst in den SQL-Code. 😉

Bei mir funktioniert jetzt auf jeden Fall alles Bestens! Also nochmal:

Java:
 System.out.println("Danke");
 

Zurück
Oben