Erste Schritte Ich verstehe das Summenprogramm nicht

Hallo,
ich arbeite gerade ein Buch über Java Programmierung für Anfänger durch. Ich komme bei einem Programm das die Summe von n Zahlen addieren soll nicht weiter.

Der Programmcode lautet so,
Java:
public class summe4 {
    public int berechneSumme(int n)
    {
       
        int i = 20;
        int sum = 0;
        for (i = 0; i <= n; ++i)
        {
            sum = sum + i;
        }
        return sum;
    }

}
Im Buch kommt danach ein Textblock, darunter steht "Der Aufruf der Funktionen ist dann sehr einfach:"
Java:
int summe1 = berechneSumme(20);

Meine erste Frage, muss der oben geschriebene Befehl unter die for Schleife, also da hin ?
Java:
public class summe4 {
    public int berechneSumme(int n)
    {
        int summe1 = berechneSumme(20)
        int i = 20;
        int sum = 0;
        for (i = 0; i <= n; ++i)
        {
            sum = sum + i;
        }
        return sum;
    }

}
Warum wird hier auf einmal die Variable summe1 verwendet, diese kommt in dem restlichen Code gar nicht vor. Das Programm funktioniert so auch gar nicht.
Wie kann ich für n verschiedenen integer angeben ?


Gruß Kai
 

Robat

Top Contributor
Leg eine main-Methode an und rufe von dort die Methode auf.
In der Methode selbst die Methode aufzurufen ist schwachsinnig, da es zu einer Endlosrukursion kommt.
 
Hallo Robat,
danke für deine Antwort.
Das mit diesen zwei Dateien (Methoden) habe ich schon in der Vorlesung nicht verstanden. Wieso macht man das ?
Ich habe jetzt eine summe4test Main-Methode erstellt, mit folgendem Inhalt.
Java:
public class summe4test {

    public static void main(String[] args)
    {
        int summe1 = berechneSumme(20);

    }

Wenn ich diese Datei ausführen erhalte ich eine Fehlermeldung, The method berechneSumme(int) is undefined for the type summe4test.

Gruß Kai

Tante Edit:
Ich habe es nochmal so versucht,
Java:
public class summe4 {
        public int berechneSumme(int n)
    {
        int sum = 0;
        for (int i = 0; i <= n; ++i)
        {
            sum = sum + i;
        }
        return sum;
    }
        public static void main(String[] args)
        {
            int summe1 = berechneSumme(20);
            int summe2 = berechneSumme(30);
        }
}
klappt aber leider auch nicht,
Cannot make a static reference to the non-static method berechneSumme(int) from the type summe4
Cannot make a static reference to the non-static method berechneSumme(int) from the type summe4
 
Zuletzt bearbeitet:
Ich glaube ich bin einfach zu blöd für dieses Java :eek:
Wenn ich die Methode zu static ändere, bekomme ich vom compiler die Nachricht "Return type for the methode is missing"
Java:
public class summe4 {
   
        public static berechneSumme(int n)
    {
        int sum = 0;
        for (int i = 0; i <= n; ++i)
        {
            sum = sum + i;
        }
        return sum;
    }
        public static void main(String[] args)
        {
            int summe1 = berechneSumme(20);
            int summe2 = berechneSumme(30);
        }
   
}


Java:
public class summe4 {
   
        public int berechneSumme(int n)
    {
        int sum = 0;
        for (int i = 0; i <= n; ++i)
        {
            sum = sum + i;
        }
        return sum;
    }
        public int void main(String[] args)
        {
            int summe1 = berechneSumme(20);
            int summe2 = berechneSumme(30);
        }
   
}


Wenn ich in der main-methode static durch int ersetze, kommt die Nachricht "Syntax error on token "void", delet this token"

Ich komme einfach nicht weiter ...
:(
 

FourOhFour

Aktives Mitglied
Naja, dir wird doch genau gesagt was fehlt.
Die Methode ist nun static, aber der Rückgabetyp fehlt nun. Da du einen int-Wert zurückgeben willst (siehe return!) müsste die Methode lauten:
Code:
public static int berechneSumme(int n) {
...
}
Die main bleibt wie gewöhnlich erhalten:
Code:
public static void main(String[] args) {
...
}
Jetzt sollte alles ausgeführt werden, wie du es dir denkst.
Jedoch solltest du summe1 z.B. noch mit System.out.println(summe1); anzeigen lassen.
Wenn du dazu noch weitere Fragen hast - einfach Rückmeldung geben was du noch nicht verstehst.
Wenn man noch nie mit Programmiersprachen zu tun hatte ist der Anfang sehr schwer - das musste ich nun selbst im ersten Semester erfahren. Bleib am Ball ;)
 

MiMij

Bekanntes Mitglied
Ja der Anfang war sehr schwer. Hatte auch ziemlich viele Probleme. Aber irgendwann (bei mir hats lang gedauert ^^) hats klick gemacht. Und nun macht es echt spaß.
Dranbleiben!
Die main-Methode muss immer so aussehen wie FourOhFour es auch geschrieben hat. Die ist dafür verantwortlich das das Programm gestartet werden kann. Von dort geht also alles los wenn du die Datei kompilierst und ausführst.
Gewöhn dir gleich an, die Klassennamen groß zu schreiben. Und den Code ordentlich zu formatieren, damit du nicht den ÜBerblick verlierst.

Mach also hier weiter
Code:
public class Summe4 {
 
        public static void main(String[] args){
            int summe1 = berechneSumme(20);
        }

        public static berechneSumme(int n){
            int sum = 0;
            for (int i = 0; i <= n; ++i){
                sum = sum + i;
            }
            return sum;
        }
}
Änder die "berechne Summe" Methode so wie FourOhFour es geschrieben hat.
 

VfL_Freak

Top Contributor
Moin,
Return type for the methode is missing
Eigentlich sagt die Meldung doch alles aus!
Du versuchst einen Wert zurückzugeben ("return sum").
Dann musst Du der Methode in der Signatur auch sagen, von welchem Typ die Rückgabe ist!

Java:
public static /*hier fehlt der Typ!!*/ berechneSumme(int n)
Hilft das weiter?

Ich denke, Du musst Dir dringend nochnmal die Grundlagen anschauen und verinnerlichen !!
VG Klaus
 
Guten Morgen,
Danke FourOhFour,MiMij und Vfl-Freak, das ihr nicht aufgegeben habt.
So klappt es jetzt.
Java:
public class summe4 {
  
        public static int berechneSumme(int n)
    {
        int sum = 0;
        for (int i = 0; i <= n; ++i)
        {
            sum = sum + i;
        }
        return sum;
    }
        public static void main(String[] args)
        {
            int summe1 = berechneSumme(10);
            int summe2 = berechneSumme(20);
            System.out.println(summe1);
            System.out.println(summe2);
        }
  
}
Ich habe mich einfach über dieses Buch geärgert, vorher sind alle Beispiel ausführlich beschrieben worden und immer in der main-methode programmiert worden. Es ging auch um die Summe von Zahlen. Bei den Beispielen vorher sind diese aber vorher festgelegt worden.
Im Moment denke ich vorher wurde nicht Objektorientiert programmiert. Das ist echt schwer da den Überblick zu behalten zwischen Klassen, Methoden und main-Methoden. Ich werde mich als erste darum kümmern dort den Überblick zu erhalten.

Gruß und schönes Wochenende
Kai
 

MiMij

Bekanntes Mitglied
Aufgegeben wird hier nicht ;)

Nochmal der Hinweis. Klassennamen Groß schreiben und das einrücken (siehe mein Code oben) direkt richtig machen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Verstehe Rekursion nicht ganz Java Basics - Anfänger-Themen 7
nbergmann x /= n : Verstehe ich nicht. Java Basics - Anfänger-Themen 24
S Schulaufgabe - verstehe leider die Aufgabe nicht Java Basics - Anfänger-Themen 4
ZH1896ZH Verstehe verschieden Scanner und hasNext() nicht ganz Java Basics - Anfänger-Themen 2
ZH1896ZH OOP Verstehe nicht was der Hinweis bedeutet, bitte um Hilfe! Java Basics - Anfänger-Themen 2
A Hilfe bei Rekursion,Ich verstehe nicht,wie funktioniert die Rekursion in der Methode "walk" Java Basics - Anfänger-Themen 13
A Shopping Cart Programm. Verstehe einige Zusammenhänge nicht Java Basics - Anfänger-Themen 1
T Brauche Hilfe um ein Programm zu verstehe Java Basics - Anfänger-Themen 4
S Ich verstehe die RegEx Tabelle von Javadoc nicht so ganz Java Basics - Anfänger-Themen 3
V Erste Schritte Array.length[x] in einer Schleife - ich verstehe das nicht Java Basics - Anfänger-Themen 1
Y Erste Schritte Ich verstehe this. nicht so richtig Java Basics - Anfänger-Themen 5
DaCrazyJavaExpert Methoden Verstehe Feheler nicht! Java Basics - Anfänger-Themen 7
Henri ich verstehe gerade nicht die Methode Java Basics - Anfänger-Themen 6
dave253 Ich verstehe folgenden Code nicht.. Java Basics - Anfänger-Themen 12
V Verstehe die Lösung einer Aufgabe von Grunkurs-Java nicht. Java Basics - Anfänger-Themen 11
J Verstehe die NullPointerException nicht Java Basics - Anfänger-Themen 1
J Verstehe meine HashSet Ausgabe nicht Java Basics - Anfänger-Themen 5
P Verstehe Lösung einer Aufgabe von "Grundkurs-Java" nicht Java Basics - Anfänger-Themen 5
O Ich verstehe nicht, was Eclipse von mir will Java Basics - Anfänger-Themen 10
G Methoden Verstehe nicht was in der Methode gemacht wird? Java Basics - Anfänger-Themen 5
M Verstehe das Programm(Quellcode) nicht!! Java Basics - Anfänger-Themen 12
B Verstehe ZufallInt = (int) (Math.random() * 5 + 1); nicht Java Basics - Anfänger-Themen 9
J Rekursiver Horner-Schema-Algorithmus - Verstehe ich ihn richtig? Java Basics - Anfänger-Themen 2
F verstehe diese Variable nicht... Java Basics - Anfänger-Themen 4
A Codezeile die ich nicht verstehe Java Basics - Anfänger-Themen 7
Pentalon Ein Aufruf den ich nicht verstehe Java Basics - Anfänger-Themen 11
V Verstehe die Logik nicht ... Java Basics - Anfänger-Themen 30
C rekursive Methode verstehe nicht! Java Basics - Anfänger-Themen 3
B verstehe methode nicht methode Java Basics - Anfänger-Themen 2
B Erste Schritte Verstehe das nicht Java Basics - Anfänger-Themen 3
C verstehe get und set nicht Java Basics - Anfänger-Themen 3
J Interface Wie funktioniert das mit den Interfaces. Ich verstehe es einfach nicht! :( Java Basics - Anfänger-Themen 15
T ich verstehe array nicht! Java Basics - Anfänger-Themen 11
P for Schleife mit break, verstehe die Ausgabe nicht Java Basics - Anfänger-Themen 6
A Verstehe readLine()-Funktion nicht Java Basics - Anfänger-Themen 3
A Verstehe das GUI nicht! Java Basics - Anfänger-Themen 7
D Verstehe Zusammenhang nicht- Und ihr? Java Basics - Anfänger-Themen 4
M THREADS - Ich verstehe es nicht Java Basics - Anfänger-Themen 10
T Verstehe Bufferreader prinzip nicht Java Basics - Anfänger-Themen 3
E I-JVM verstehe ich das richtig (bytecode aufgabe) Java Basics - Anfänger-Themen 2
M Verstehe Aufgabe nicht, wie kann man schleifen einbauen? Java Basics - Anfänger-Themen 5
N Verstehe Step10 bei jME Eclipsetutorial nicht Java Basics - Anfänger-Themen 4
L Verstehe den Wert nicht! If-Anweisung Java Basics - Anfänger-Themen 5
N Verstehe diese Aufgabe nicht! Java Basics - Anfänger-Themen 16
Rudolf Verstehe das Ergebnis nicht - bitte erklären Java Basics - Anfänger-Themen 7
S Finde den Fehler nicht/ verstehe Anweisung nicht Java Basics - Anfänger-Themen 12
K Ich verstehe switch einfach nicht Java Basics - Anfänger-Themen 4
C Verstehe Code-Teil nicht. Java Basics - Anfänger-Themen 2
S Ich verstehe diese Methode nicht! Java Basics - Anfänger-Themen 6
G Verstehe das nicht. bitte um hilfe Java Basics - Anfänger-Themen 13
R Thread startet nicht, verstehe nicht warum Java Basics - Anfänger-Themen 2
R Verstehe die Ausgabe von folgendem Code nicht Java Basics - Anfänger-Themen 4
A verstehe aufgabenstellung nicht! Java Basics - Anfänger-Themen 47
S verstehe den fehler nicht Java Basics - Anfänger-Themen 14
C Verstehe die Syntax nicht! Java Basics - Anfänger-Themen 2
M Verstehe den Quellcode nicht ganz Java Basics - Anfänger-Themen 3
7 Verstehe Programm nicht Java Basics - Anfänger-Themen 6
G verstehe das problem nicht :( Java Basics - Anfänger-Themen 4
S RegEx Syntax - ich verstehe sie einfach nicht! Java Basics - Anfänger-Themen 3
G verstehe den unterschied zwischen equals und == nicht Java Basics - Anfänger-Themen 3
E Verstehe eine Schleife nicht Java Basics - Anfänger-Themen 5
B Eine Linie zeichnenmit Java, ich verstehe das einfach nicht Java Basics - Anfänger-Themen 4
G Verstehe einen Aufruf absolut nicht Java Basics - Anfänger-Themen 2
I Webservice funktioniert nicht Java Basics - Anfänger-Themen 5
C Abbruch einer Schleife mit break, meine Übung funktioniert nicht richtig Java Basics - Anfänger-Themen 4
SarahXyy Ergebnisse stimmen nicht überein? Java Basics - Anfänger-Themen 11
thomas55 Erste Schritte Modul läuft in IntelliJ, nicht in NetBeans Java Basics - Anfänger-Themen 11
richis-fragen Nicht ausführbares JAR, externe jars mit einbinden Java Basics - Anfänger-Themen 7
S Erstes Programm: Hallo Welt funktioniert nicht. Java Basics - Anfänger-Themen 3
O Obfuscateter Code lässt sich nicht ausführen? Java Basics - Anfänger-Themen 7
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 16
D Regex greift nicht richtig Java Basics - Anfänger-Themen 4
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
richis-fragen JTable Header ausgeblendete (width = 0) nicht per mouseDragged aufziehen. Java Basics - Anfänger-Themen 9
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
S Wie debugge ich dies am besten: SingleThreadExecutor führt Task nicht aus..? Java Basics - Anfänger-Themen 29
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
K TicTacToe belegtes feld nicht neu besetzbar Java Basics - Anfänger-Themen 1
K TicTacToe belegtes Feld nicht neu besetzbar Java Basics - Anfänger-Themen 3
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
N BMI Rechner Was haltet ihr von dem Code habt ihr Verbesserungsvorschläge weil design teschnisch ist das nicht das geilste würde das gerne überarbeiten Java Basics - Anfänger-Themen 12
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19

Ähnliche Java Themen

Neue Themen


Oben