Produkt 1-10 mit Zwischenschritten

<TomTom>

Mitglied
Hallo,

wir hatten heute unsere erste Stunde in programmieren und haben als Hausaufgabe aufbekommen ein Programm zu schreiben das das Produkt der Zahlen 1 bis 10 errechnet einmal mit und einmal ohne Zwischenschritte. Also soweit habe ich es bis jetzt geschrieben:

Java:
public class Produkt {

    public static void main(String[] args) {
        int n=10;
        int erg=0;
        int i=0;
        while (i<=n){
            erg=erg*i;
            i=i+1;
        }
        System.out.println(erg);
    }

}

die gleiche Aufgabe hatten wir auch mit Addition und das hab ich hinbekommen. Aber ich hinbekommen aller was ich machen muss um die zwischenergebnisse mit angezeigt zu bekommen. Ich danke euch jetzt schon einmal für eure Hilfe.
 
Wenn du die Berechnung mit Zwischenergebnissen ausgeben willst, schreib einfach in die Schleife deine Ausgabe am Ende.

Java:
while(i<=n){
erg=erg*i;
i++;
System.out.println(erg);
}
 
Die Antwort auf deine Frage ist zu trivial um sie dir einfach so zu verraten, aber:

a) Wo berechnetst du denn dein Zwischenergebnis das du ausgeben willst?
b) Wo und wie gibst du das Endergebnis aus?

Jetzt musst du die zwei Dinge nur passend kombinieren und fertig 😉
 
Glaub Ich das es für euch trivial ist. Aber für mich im Moment ncoh nicht so logisch werde mir aber mal weiter Gedanken machen. Könntest du mir evtl sagen wo ich oben einen fehler habe, weil immer wenn ich auf "run project" klicke kommt das ergebnis 0 und ich weiß auch nach mehrmaligen probieren noch nicht woran es liegt.
 
hat mit java weniger zu tun.

erg = 0
i = 0

erster Durchlauf:
erg=0*0=0

zweiter Durchlauf:
erg=0*1=0

dritter Durchlauf:
erg=0*2=0

etc.
 
Hey,

wollte nur kurz (falls ihr es schon gelernt habt) anmerken, daß es meiner Meinung nach mit einer For-Schleife wesentlich eleganter ist. Zumal man weiß wie oft die Schleife durchlaufen werden soll.

z.B. so:

Java:
public class Produkt {
 
    public static void main(String[] args) {
    int erg = 1;        
    for(int i = 1; i <= 10; i++){            
          System.out.println(erg*=i);            
    }
}
 

Zurück
Oben