Wieso geht das nicht in Java (if statement mit or statement?

3 Antworten

Vor dem "< 20" fehlt ein Wert. Wenn du es mit der eingegebenen Zahl verlgeichen willst, kannst du die Zahl in eine Variable einlesen und mit dieser dann vergleichen (:

Scanner scanner = new Scanner(System.in);
int zahl = scanner.nextInt();

if (zahl > 100 || zahl < 20)
    System.out.println("Wrong Number!");

Die Variable mit der verglichen werden soll muss bei jeder Abfrage erneut stehen, richtig wäre also:

if(input1.nextInt() > 100 || input1.nextInt() < 20) ...
Omega1441 
Fragesteller
 28.09.2022, 16:26

DANKE

0
guterfrager5  28.09.2022, 16:29

würde es dann nicht noch eine Zahl einlesen?

0
Gehilfling  28.09.2022, 16:32
@guterfrager5

Da könntest du recht haben. Sicherer in dem Kontext wäre vermutlich dein Ansatz, die Zahl vorab in einer Variable zu sichern und die gegenzuchecken.

0
CSANecromancer  28.09.2022, 18:14

Das produziert ein falsches Ergebnis. Das .nextInt() ist ein Funktionsaufruf und holt den nächsten Int vom Scanner ab. Damit werden hier zwei verschiedene Zahlen verwendet.

Korrekt wäre, vorher einmalig input1.nextInt() in einer Variablen zu speichern und dann die Variable in der Bedingung zu prüfen.

0

nach dem || nochmal das input1.nextInt()