Wie rechne ich ein Summenzeichen in java aus?

... komplette Frage anzeigen

3 Antworten

Ein Summenzeichen ist bei Lichte betrachtet ja erstmal nur eine Schleife. Du hast einen Startwert für den Laufindex und entweder eine unendliche Schleife oder ein Maximum für den Laufindex. Eine endlosschleife könntest du so umsetzen:

int k = 1;
while (true) {
    // Inhalt der Schleife
}

Nimm dazu noch eine Summenvariable, in der du Schritt für Schritt den Wert der Summe akkumulierst:

int k = 1;
double sum = 0.0;
while (true) {
     sum += 1.0 / (k*k);
System.out.println("Summe für k von 1 bis " + k + ": " + sum;
     k++;
}

Nun hast du allerdings eine Abbruchbedingung angegeben bekommen. Die Ausführung einer Schleife kann man mit "break" unterbrechen:

while (true) {
    if (abbruchbedingung) {
        break;
    }
}

das ist gleichbedeutend zu

while (!abbruchbedingung) {
    // Schleifeninhalt
}

Deine Abbruchbedingung lautet: 1 / k^2 < 10^-5. Das ist äquivalent zu k^2 > 10^5. Ich hoffe die bisherigen Erklärungen reichen aus, dass du dein Problem nun eigenständig lösen kannst.

void sum() {
int mult=6;
float sum1=0;
float sum 2=0;
long i =1;
while(sum2-sum1sum1=sum2;
sum2 +=1/math.pow(i,2);
System.out.println(sum2);
}
}

Bin mit den Datentypen nicht ganz sicher, aber vom Prinzip her müsste es das sein.
Die while-Bedingung sorgt für den gewünschten Abbruch, sum2 bildet die laufende Summe während sum1 die vorherige Summe speichert, das ermöglicht den Vergleich in der Bedingung.
Danach folgt die gewünschte Ausgabe.

Keine Garantie das es funktioniert aber ich denke das könnte passen.

Du nimmst ne einfache for-Schleife..

Bin grad am Handy, wenn du es bis morgen nicht hinbekommen hast kann ich am PC etwas Code schreiben um dir zu helfen..

Kommentar von raptinator
18.11.2016, 17:27

Kannst du bitte mal was schreiben? Bekomme es einfach nicht hin.

0

Was möchtest Du wissen?