Fakultät

N

newbie1000

Gast
Hallo!

Ich habe ein programm zur berechnung der Fakultät geschrieben, dass auch funktioniert, zb.

5!=120

aber am ende schreibt das programm nicht 5! sondern 6!= 120

Java:
//Datei Fakultaet.java

public class Fakultaet 
{
	public static void main(String[] args) 
	{
		int n;
		int erg = 1;
		
		for(n = 1; n <= 5; n = n + 1)
		{
			erg = erg * n;
	
		}
		
		System.out.println("Ergebnis von " + n + "! = " + erg);

	}

}

Kann mir jemand erkären wo sich da der Fehler befindet?

Danke im Voraus!
 
S

SlaterB

Gast
boah, so einen grundlegenden Fehler willst du nicht weiter selber untersuchen?
vielleicht ist Maximum 1 oder 2 noch leicher als 5,

überlege dann doch, was du ausgibts, n beschäftigt dich wohl, was ist n, wann wird es verändert,
nenne doch Schritt für Schritt, wann deiner Meinung nach n wie verändert wird, wann auf welche Weise die Schleife abbricht usw.
 

127.0.0.1

Bekanntes Mitglied
Wenn du in die Schleife n <= 4 schreibst, gehts
oder wenn du n < 5 schreibst, also ohne das =

lass also das = weg, oder mach ne 4 draus ;)
 
S

SlaterB

Gast
@127.0.0.1
dann würde ja was anderes ausgerechnet werden, 120 ist schon das richte, ist 5!, nur die Ausgabe schreibt 6!
 

casi91

Bekanntes Mitglied
bin der Meinung von SlaterB
versuche es selbst herauszufinden.
Mithilfe des Debuggers kein Problem.

Dann verstehst du auch direkt wie die for-Schleife arbeitet :)
 

127.0.0.1

Bekanntes Mitglied
@SlaterB:

ääähhmm.....jap, du hast Recht ^^
hab ich übersehen, sorry :rtfm:



Man könnte natürlich vor dem Sysout ein
Code:
n=n-1;
schreiben, aber das wäre ja wie cheaten :)
 
Zuletzt bearbeitet:
N

newbie1000

Gast
ok, ich denke mir das so:

Die for-Schleife wird so lange durchgeführt solange n<= 5 ist, also erst wenn n den wert >5 (eben 6) annimt wird die schleife abgebrochen, und da 6 der letzte wert ist der n zugewiesen wird kommt eben 6!=... raus.

stimmt das so? lg
 
S

SlaterB

Gast
genau,

es ist jetzt nicht klar ob das eine neue Erkenntnis für dich ist,

jedenfalls dürfte doch klar sein was zu tun ist, mit n noch weiterrechnen lieber nicht, wobei denkbar,
führe einfach vorher eine Variable für max ein, und nimm die
 

Crian

Top Contributor
Java:
public class Fakultaet 
{
    public static void main(String[] args) 
    {
        int max = 5;
        int erg = 1;
        
        for (int n = 1; n <= max; n = n + 1)
        {
            erg = erg * n;
        }
        
        System.out.println("Ergebnis von " + max + "! = " + erg);
 
    }
 
}

So in der Art. Wenn man die Schleifenvariablen so deklariert, sind sie nach der for-Schleife nicht gültig und können nicht verwirren.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L mit Fakultät mathematische Formel berechnen Java Basics - Anfänger-Themen 5
K Fakultät Java Basics - Anfänger-Themen 5
B Java Array Fakultät Function Java Basics - Anfänger-Themen 5
K Rekursive Methode für Fakultät mit BigInteger Java Basics - Anfänger-Themen 10
I Datentypen Warum so nur Fakultät nur bis 8? Java Basics - Anfänger-Themen 5
K Fakultät Java Basics - Anfänger-Themen 16
C Erste Schritte Negative Zahlen als Fakultät ablehnen Java Basics - Anfänger-Themen 2
P Problem bei Fakultät mit "for"-Schleife Java Basics - Anfänger-Themen 12
M Fakultät berechnen Java Basics - Anfänger-Themen 2
A Fakultät probleme Java Basics - Anfänger-Themen 1
Z Schleifen Beispiel: Fakultät Java Basics - Anfänger-Themen 26
P Fakultät aus Zahl bilden Java Basics - Anfänger-Themen 5
K Fakultät zurückrechnen Java Basics - Anfänger-Themen 7
V Rekursion und Fakultät Java Basics - Anfänger-Themen 4
P Methoden Fakultät und Fehlerwert berechnen Java Basics - Anfänger-Themen 7
Fab1 Project Euler problem20 Fakultät von 100 Java Basics - Anfänger-Themen 13
S Erste Schritte Fakultät Quellcode Java Basics - Anfänger-Themen 12
L Fakultät Java Basics - Anfänger-Themen 2
G vielfache, fakultät und primzahltest Java Basics - Anfänger-Themen 35
M Fakultät Java Basics - Anfänger-Themen 13
J Fakultät- Programm programmieren Java Basics - Anfänger-Themen 10
W Fakultät, warum Endlosschleife? Java Basics - Anfänger-Themen 15
W Fakultät Java Basics - Anfänger-Themen 9
J Fakultät und Rekursion Java Basics - Anfänger-Themen 9
V Überlauf Fakultät Java Basics - Anfänger-Themen 4
L Fakultät Programm ! Java Basics - Anfänger-Themen 7
M Problem mit Berechnung der Fakultät Java Basics - Anfänger-Themen 3
B Berechnugn der Fakultät Java Basics - Anfänger-Themen 3
M Fakultät berechnen Java Basics - Anfänger-Themen 2
R Fakultät einer Zahl errechnen. Java Basics - Anfänger-Themen 7
M Brauche Hilfe mit Fakultät! Java Basics - Anfänger-Themen 16
N java befehl für fakultät Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben