Hallo, ich bin Anfänger und habe versucht, ein einfaches Konsolenprogramm zur Berechnung der Fakultät der Zahl 5 zu schreiben. Das Ergebnis muß 120 sein, es wird allerdings immer 600 ausgegeben, weil das Dekrement in der For-Schleife nicht funktioniert. Das selbe ist übrigens auch dann der Fall, wenn ich statt --i schreibe: i=i-1 Es wird demnach also immer die Berechnung 5*5*4*3*2*1 ausgeführt. Woran liegt das? Hiert der Code:
Erklärt mir bitte auch mal, wie ich auf Java in diesem einfachen Code einen Debugger einbauen kann, der dann die Variablen ausliest, damit ich mal lerne, wie das geht mit dem Debugger, Danke!
P.S.: Wenn ich in der For-Schleife ganz links schreibe i=zahl-1 funktioniert die Fakultätsberechnung richtig, aber das heißt dann doch, daß das Dekrement als Post-Dekrement läuft, obwohl die beiden Minuszeichen vor dem i stehen, oder?
Code:
public class Fakultaet1
{
public static void main (String[] args)
{
int zahl = 5;
int i = zahl;
for(i=zahl;i>=1;--i)
{
zahl = zahl * i;
}
System.out.println(zahl);
}
}
Erklärt mir bitte auch mal, wie ich auf Java in diesem einfachen Code einen Debugger einbauen kann, der dann die Variablen ausliest, damit ich mal lerne, wie das geht mit dem Debugger, Danke!
P.S.: Wenn ich in der For-Schleife ganz links schreibe i=zahl-1 funktioniert die Fakultätsberechnung richtig, aber das heißt dann doch, daß das Dekrement als Post-Dekrement läuft, obwohl die beiden Minuszeichen vor dem i stehen, oder?