Abend allerseits,
Ich bin gerade an folgender (Anfänger-)Aufgabe dran:
ich soll eine Methode schreiben, die Die Fakultäten aller Zahlen i von 1 bis 20 zurückgibt.
Was ich bisher habe sieht wie folgt aus:
Mein Problem ist das mir Eclipse nur die (richtigen) ergebnisse von 1! , 2!, 3! und 7! zurückliefert,
...aber bei 4 5 6 oder alles über 7 gibt es einfach nichts zurück.
Ich habe bereits versucht es mit Stift und Papier nachzuvollziehen, mir will aber schlicht nicht klar werden, warum diese Methode bei einigen bestimmten Zahlen problemlos funktioniert, und bei den anderen einfach durchläuft ohne was zurückzugeben ???:L
Wäre jedenfalls dankbar, wenn mir da jemand Licht ins Dunkel bringen würde
Ich bin gerade an folgender (Anfänger-)Aufgabe dran:
ich soll eine Methode schreiben, die Die Fakultäten aller Zahlen i von 1 bis 20 zurückgibt.
Was ich bisher habe sieht wie folgt aus:
Java:
public class Facul {
public static void main(String[] args) {
int i; // Die Zahl(en) deren Fakultät bereichnet werden soll
int j;
for ( i = 1; i <= 20; i++){ // Das ist die Hauptschleife von 1 bis 20
int konst = i; // speichert den Wert von i konstant für die nächste Schleife
for ( j = 1; j <= i; j++){ /* j wird um 1 erhöht und von "konst" abgezogen um nächsten
multiplikator zu erhalten */
if ((konst-j) == 0){
System.out.println("Die Fakultät von 1 ist 1"); // 1!
}
else {
i = i*(konst-j); // Akkumulation der vorherigen Schritte
if ((konst-j)== 1){
System.out.println("Die Fakultät von "+konst+" ist "+i);
break; // verhindert, dass Multiplikator "0" auftritt
}
}
}
}
}
}
Mein Problem ist das mir Eclipse nur die (richtigen) ergebnisse von 1! , 2!, 3! und 7! zurückliefert,
...aber bei 4 5 6 oder alles über 7 gibt es einfach nichts zurück.
Ich habe bereits versucht es mit Stift und Papier nachzuvollziehen, mir will aber schlicht nicht klar werden, warum diese Methode bei einigen bestimmten Zahlen problemlos funktioniert, und bei den anderen einfach durchläuft ohne was zurückzugeben ???:L
Wäre jedenfalls dankbar, wenn mir da jemand Licht ins Dunkel bringen würde