public class IfApp
{
public static
void main(String[] args)
{
int a=5,b=7,c=4;
System.out.println("a=" + a +" b=" + b + "
c=" + c);
if (a<b)
if (a<c)
System.out.println("a ist die kleinste Zahl");
else
System.out.println("a ist nicht kleiner als b");
}
}
In dieser Form behauptet das Programm, a wäre
nicht kleiner als b. Das ist aber offensichtlich falsch. Der
Grund dafür ist, dass der else-Zweig nicht als zum
äußeren if gehörend interpretiert wird,
sondern zum inneren. Dass die Einrückung der Anweisungsblöcke
etwas anderes impliziert stört den Compiler herzlich wenig.
Lösen Sie das Problem, indem Sie die Blöcke mithilfe von
geschweiften Klammern korrekt (und für den Compiler
verständlich) strukturieren.