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

mrDustin0

Neues Mitglied
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?

Java:
    while (!(ro.equals("+" & "-" & "*" & "/")))
             
        println("Keine Legale Rechenopperation!");
        println("Moeglich sind: + - * /");
       ro = readlnString("Rechenoperartion : ");
       println();
               
    }
 
Zuletzt bearbeitet von einem Moderator:
Genau. Mit equals kannst du immer nur 1 Parameter vergleichen 🙂

Da das mit den vielen Rechenoperation doch unübersichtlich werden könnte, würde ich dir empfehlen die Methode matches() zu nehmen.

Das sieht dann so aus:

Java:
Scanner s = new Scanner(System.in);

while(!s.nextLine().matches("\\+|\\-|\\*|\\/"))
{
    // do some stuff
}

Kurz zu Erklärung:

Die Methode matches bekommt als Übergabeparameter einen String, das Pattern mit | getrennt, mit. Man könnte meinen, dass das Pattern "+|-|*|/" sein müsste.
Da + - * / aber alles vordefinierte Zeichen sind, musst du dem Compiler sagen, dass er wirklich die Zeichen nehmen soll - das machst du mit \\.

Gruß
Robert
 

Zurück
Oben