zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Kann eine einzelne if-else-Anweisung eine von drei Möglichkeiten wählen?

Antwort:

Nein. Eine if-else-Anweisung trifft eine binäre Entscheidung, eine Wahl aus zwei Möglichkeiten.

Geschachteltes 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:

FRAGE 8:

Wir füllen die zwei Lücken aus, so dass die geschachtelten if-Anweisungen die richtige Wahl treffen.