Ich kann nicht für das Leben von mir herauszufinden, warum dieser Code unbegrenzt endlos, wenn "TurnOrder" auf "zuerst" festgelegt ist. Es scheint etwas über den Operator "oder" in der "Do While-Schleife" zu sein. Aber ich habe keine Ahnung, wie man es richtig formatiert.String-Vergleich (mit "oder" in einer "Do While-Schleife") Java
String turnOrder;
do {
Scanner to = new Scanner(System.in);
turnOrder = to.nextLine();
if ((!"first".equalsIgnoreCase(turnOrder)) || (!"second".equalsIgnoreCase(turnOrder))) {
System.out.println("Type your answer as 'first' or 'second.' Without the punctuation.");
} else {}
} while ((!"first".equalsIgnoreCase(turnOrder)) || (!"second".equalsIgnoreCase(turnOrder)));
Nun ... es ist nicht 'equalsIgnoreCase'' "second" '. –
Ich dachte mit und "oder" Operator eine der Statements könnte falsch sein, und der Ausdruck als Ganzes wäre wahr – Calvin
Sie sollten immer Ihre logischen Operationen auf ihre einfachste Form reduzieren. – Adam