Eine gute Antwort könnte sein:

Die Schleife wird eine Endlos-Schleife. Diese zwei Zeichen bewirken einen großen Unterschied!

Nur zwei Zeichen anders

Hier ist ein Fragment des Programms, mit den entfernten geschweiften Klammern:

    if ( N >= 0 )
    {
      while ( N > 1 )

        fak = fak * N;
        N   = N - 1;

      System.out.println( "Fakultät ist " + fak );
    }
    else
    {
      System.out.println("N muss Null oder groesser sein");
    }

Dieses Fragment sieht OK aus, aber denken Sie daran, dass Leerzeilen und Einrücken für Menschen aber nicht für den Compiler sind. Was der Compiler sieht ist:

    if ( N >= 0 )
    {
      while ( N > 1 )
        fak = fak * N;

      N    = N - 1;
      System.out.println( "Fakultät ist " + fak );
    }
    else
    {
      System.out.println("N muss Null oder groesser sein");
    }

Jetzt ist es klar, dass N sich nicht ändert. Die Bedingung N > 1 ist immer wahr und die Schleife läuft für immer.

FRAGE 10:

Was würde passieren, wenn die geschweifte Klammer nach dem else und ihre dazu gehörige Klammer entfernt würden?