Java Methode erstellen wie?

2 Antworten

Naja, was braucht man? Eine Variable, welche die bisherige Summe speichert. Die initialisiert man schlauerweise mit 0.

int summe = 0;

Dann braucht man eine Schleife, die bis zur gewünschten Zahl hochzählt und die aktuelle Zahl zur Summe addierst:

int aktuelleZahl = 1;
while (aktuelleZahl <= zielZahl)
{
  summe += aktuelleZahl;
  aktuelleZahl++;
}

Die Methode sollte nun das Ergebnis wieder zurückliefern:

return summe;

Zielzahl muss als Parameter an die Methode übergeben werden. Deine Aufgabe besteht jetzt darin zu googeln oder in den Unterlagen Deines Informatikunterrichts nachzuschauen, wie man in Java eine Methode mit einem Parameter deklariert ;-) In diese packst Du dann den obigen Code und rufst sie auf.

ZaoDaDong  21.03.2023, 10:24

War wohl nicht das erste Mal, dass diese Frage hier auftaucht.

0
ZaoDaDong  21.03.2023, 10:26
@ohwehohach

Dachte nur, weil die Antwort quasi 1 Minute nach Erstellen der Frage da war.

0
ohwehohach  21.03.2023, 10:27
@ZaoDaDong

Achso - nee, kein Copy & Paste :-D Ich kann nur einigermaßen schnell tippen...

0

Die Aufgabe in einfachen Worten erklärt:

Das Programm soll nach einer Zahl fragen. Du gibst z.B. eine 7 ein. Dann soll das Programm die Summe aller Zahlen bis 7 bilden.

Also 1+2+3+4+5+6+7 = 28

Warum ihr das mit einer while-Schleife und nicht sinnvollerweise mit einer for-Schleife (oder mit der Gaussschen-Summenformel) machen sollt, weiß ich aber nicht. Das ist eine der eigenartigen Sonderbedingungen, die Schülern manchmal gestellt werden. Wahrscheinlich, damit die Schüler lernen, Probleme auf verschiedene Arten und Weisen zu lösen.

Ich hab dir mal ein paar verschiedene Varianten gebastelt:

import java.util.*;
import java.util.stream.*;

public class GaussSum {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.print("Bitte geben Sie ein, bis zu welcher Zahl die Summe gebildet werden soll: ");
        
        int ende = in.nextInt();
        
        // Lösung mit for-Schleife
        int summe = 0;
        for (int i = 1; i <= ende; ++i) {
            summe += i;
        }
        System.out.println("Lösung mit for-Schleife: " + summe);


        // Lösung mit IntStream
        System.out.println("Lösung mit IntStream: " + IntStream.rangeClosed(1, ende).sum());
        
        // Lösung mit der Gaussschen Summenformel
        System.out.println("Lösung mit der Gaussschen Summenformel: " + (ende * (ende + 1) / 2));
        
        // Lösung mit while-Schleife
        // Ha, hier musst du selbst nachdenken :-P
    }
}