Kann eine einzelne if-else
-Anweisung eine von drei Möglichkeiten wählen?
Nein. Eine if-else
-Anweisung trifft eine binäre Entscheidung,
eine Wahl aus zwei Möglichkeiten.
if
für eine Dreifach-Auswahl
Um eine Dreifach-Auswahl zu treffen, wird ein geschachteltes if verwendet.
Dabei ist eine if-else
-Anweisung Teil eines
true
-Zweiges (oder false
-Zweiges) einer anderen if-else
-Anweisung.
Daher wird ein geschachteltes if
nur dann ausgeführt werden,
wenn das äußere if
bereits eine Wahl zwischen
zwei Zweigen getroffen hat.
Hier ist ein Programmfragment, das eine Wahl zwischen drei Strings trifft.
String suffix;
. . . . . // count ist die Anzahl der bisher addierten Integer
. . . . . // count+1 ist der nächste einzulesende Integer
if ( count+1 )
suffix = "nd";
else
if ( count+1 ) // false-Zweig des ersten if
suffix = "rd"; // false-Zweig des ersten if
else // false-Zweig des ersten if
suffix = "th"; // false-Zweig des ersten if
System.out.println( "Enter the " +
(count+1) + suffix + " integer (enter 0 to quit):" );
Der false
-Zweig der ersten if
-Anweisung besteht
aus einer anderen vollständigen if
-Anweisung.
Wir füllen die Lücken aus, so dass: