Frage von fragdstn, 20

Java prüfen ob eine der Möglichkeiten erfüllt ist?

Solange als String nicht einer der Zeichen "+" & "-" & "*" & "/" eingegeben ist soll die shleife wiederholt werden also an sich so wie hier aufgeführt aber so geht es leider nicht kann jemand helfen?

while (!(ro.equals("+" & "-" & "*" & "/")))
          
    println("Keine Legale Rechenopperation!");
    println("Moeglich sind: + - * /");
    ro = readlnString("Rechenoperartion : ");
    println();
          
}
Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Suboptimierer, 15
while(!(ro.equals("+") || ro.equals("-") || ...))
{...
Antwort
von hawking42, 14

Der Fehler ist, dass "&" ein bitweiser UND-Operator ist. d.h. deine "+", "-", ... Strings werden bitweise kombiniert und das ergebnis ist etwas, was nicht dem entspricht, was du willst. 

Du willst, dass ro = "+" ODER ro="-" ODER ro="*" ODER ro="/" ist und die Schleife nur durchlaufen wird, wenn diese Bedingung NICHT eintrifft. - siehe Vorschlag von Suboptimierer

Keine passende Antwort gefunden?

Fragen Sie die Community