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.

bitblt  18.10.2021, 21:36

Das kann so nicht runktionieren..

0

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
priesterlein  18.10.2021, 15:28

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.

0