wie verschachtele ich den ternären Operator in Java, wenn ich schauen will ob drei boolean variablen true sind und dann was ausgeben will (If nicht erlaubt)?
2 Antworten
If nicht erlaubt?
Dann eben:
Switch var.
Case bool1.
Switch var.
Case bool2.
Switch var.
Case bool3.
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, programmieren, Java
Dafür ist der Ternary Operator in Java nicht gedacht.
Der Ternary Operator wird in Java nur für Zuweisungen benutzt. System.out.println() ist jedoch eine void-Methode, d.h. sie hat keinen Rückgabewert. Jedoch müssen beide Seiten des Ternary Operators einen Rückgabewert haben, weil was soll sonst der Variable zugewiesen werden?
Möglich ist es also schon, aber nicht zu empfehlen:
boolean a = true, b = true, c = true;
Object dummy = (a && b && c) ? ( (Supplier<Boolean>) () -> {System.out.println("Ausgabe"); return true; }).get() : true;
Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf
MrAmazing2
18.10.2021, 15:29
@priesterlein
Dann braucht er aber ein if, um zu überprüfen, ob im String was steht ...
Er könnte es sich auch einfacher machen und in den Ternary-Zweigen einfach das als String zurückgeben, was er ausgeben will. Die Ausgabe erfolgt dann danach mit dieser Zeichenkette.