Wir füllen die zwei Lücken aus, so dass die geschachtelten if-Anweisungen
die richte Wahl treffen.
if ( count+1 == 2 ) suffix = "nd"; else if ( count+1 == 3 ) suffix = "rd"; else suffix = "th"; System.out.println( "Enter the " + (count+1) + suffix + " integer (enter 0 to quit):" );
Das erste if trifft eine Wahl zwischen ihrem true-Zweig und  ihrem false-Zweig. 
Ihr false-Zweig ist kompliziert, aber das macht nichts.
Jeder Zweig einer if-Anweisung kann so kompliziert wie nötig sein.
Hier ist noch einmal das Fragment mit dem true-Zweig der ersten if-Anweisung in blau und ihrem false-Zweig in rot:
if ( count+1 == 2 ) suffix = "nd"; else if ( count+1 == 3 ) suffix = "rd"; else suffix = "th"; System.out.println( "Enter the " + (count+1) + suffix + " integer (enter 0 to quit):" );
Zum Beispiel, wenn
(count+1)
gleich 2 ist,
wird der true-Zweig ausgewählt.
Die Variable suffix  bekommt "nd"
und der false-Zweig wird komplett ausgelassen.
Der Ausdruck
(count+1)
ist immer größer als 1.
Für jeden der folgenden möglichen Werte von
(count+1),
welcher Zweig des ERSTEN if wird ausgeführt werden?
| Wert von count+1 | Welcher Zweig? | |
|---|---|---|
| if ( count+1 == 2 ) suffix = "nd"; else if ( count+1 == 3 ) suffix = "rd"; else suffix = "th"; | 2 | |
| 3 | ||
| 4 | ||
| 5 |