Könnt ihr mir sagen, was dieser Code in Java bedeutet?

... komplette Frage anzeigen

5 Antworten

int (Integer) ist eine Ganzzahl mit 32 Bit. Wenn du ein einzelnens = hast dann ist es ein Zuweisung. Dabei hast due eine RHS (right hand side) und eine LHS (left  hand side). Die RHS wird immer der LHS zugewiesen.

In diesem Fall wird nun zuerst die RHS ausgeführt also berechneSumme(10) aufgerufen und dann eine neue Integer Variable erstellt und der den Rückgabewert von berechneSumme(10) zugewiesen. Da berechneSumme(10) offensichtlich die Summe aller Zahlen von 1 bis 10 bildet entspricht summe1 nach der Zuweisung 55.

Für int summe2 = berechneSumme(20) gilt das Selbe mit anderen Zahlenwerten. Die Methode berechneSumme(int target) kann folgendermaßen aussehen:

public int berechneSumme(int target) {
int sum = 0;
for(int i=1;i<=target;++i) {
sum += i;
}
return sum;
}
Antwort bewerten Vielen Dank für Deine Bewertung

Die Methode berechnet einfach die Summe aller natürlichen Zahlen bis einschließlich n.

Beispiel:

berechneSumme(n) = 1 + 2 + ... + n = x
... also ...
berechneSumme(3) = 1 + 2 + 3 = 6
berechneSumme(5) = 1 + 2 + 3 + 4 + 5 = 15

Wenn du das Ganze ohne Schleifen und auch bei großen Zahlen effizient lösen willst, dann nimm einfach die Gauß'sche Summenformel dafür:

n * (n + 1) / 2

In eine Java-Funktion verpackt, würde das ganze so aussehen:

public static int berechneSumme(int n) {
return n * (n + 1) / 2;
}

Achte dabei aber bitte auf Überläufe bei größeren Zahlen. Vielleicht nimmst du long statt int als Datentyp, oder arbeitest gleich mit "java.math.BigInteger".

Hier noch der obligatorische Wikipedia-Link:

https://de.wikipedia.org/wiki/Gau%C3%9Fsche\_Summenformel

Viel Spaß damit! ;)

Antwort bewerten Vielen Dank für Deine Bewertung

Was macht denn die Methode berechneSumme(...) ? Das sollte man auch wissen. Gewöhne dir ausserdem an, Funktionen sinnvoll zu benennen, berechneSumme hört sich an, als würde die Methode 2 übergebene Zahlen addieren - tut sie aber offensichtlich nicht.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von kloogshizer
09.04.2016, 11:16

Nee, berechneSumme(int) summiert alle integer von 1 bis zur angegebenen.

0
Kommentar von triopasi
09.04.2016, 11:19

Dann sollte die Funktion aber kumulativeSumme() oder ähnlich heissen.

0

berechnesumme scheint eine Funktion zu sein & int Summe ist lediglich ein integer

Antwort bewerten Vielen Dank für Deine Bewertung

Wie lautet denn die methode berechnesumme, also wie sieht ihr code aus?

Antwort bewerten Vielen Dank für Deine Bewertung