Wie rechne ich ein Summenzeichen in java aus?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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.