ok, dann hab ich das return gelöscht. Die Methode groß geschrieben. Aber Methoden dürfen doch verschachtelt werden (?)
Oder anders gefragt: was muss ich denn an der Art der Programmierung ändern damit es funktioniert?
Da darauf hingewiesen wurde: Du hast den Namen der Variablen großgeschrieben. Per Konvention gilt für Java:
Klassennamen werden in UpperCamelCase (Großbuchstabe am Anfang) geschrieben. Methoden- und Variablennamen werden in lowerCamelCase (Kleinbuchstabe am Anfang) geschrieben.
Es gibt noch die Regeln, dass Klassennamen i. d. R. Substantive sind und Methoden Verben wie add() oder doSomething().
Du hast Recht, dass das return an dieser Stelle zu einer (anderen) Fehlermeldung führt, weil die nachfolgende Anweisung nicht erreicht werden kann. Allerdings ist in diesem Fall eher die nachfolgende Anweisung an der falschen Stelle.
ok, dann hab ich das return gelöscht. Die Methode groß geschrieben. Aber Methoden dürfen doch verschachtelt werden (?)
Oder anders gefragt: was muss ich denn an der Art der Programmierung ändern damit es funktioniert?
ich sehe 2 Problem-chen:
1) du definierst zwar die Methode "summe", rufst sie aber nicht auf (Dein main hat keine Anweisung), siehe meine Zeile 4
2) auch mein Compiler meckert, wenn eine Anweisung NACH dem return folgt. Die Zeile kann NIE ausgeführt werden.
als 3) sehe ich noch, dass Du etwas einfacher schreiben kannst, denn die lokale Variable "summenwert" ist nicht erforderlich. Du kannst die Berechnung direkt in der return-Anweisung mitgeben. Es macht allerdings Sinn, wenn Du einen breakpoint dort setzen willst, um dem Programmablauf auf die Finger zu schauen.
Java:
publicclass summen {publicstaticvoidmain(String args[]){System.out.println(" - die Summe in einem Unterprogramm");System.out.println(summe(3,5));}// =====================================================publicstaticintsumme(int wert1,int wert2){// gibt Summe zweier INT Werte zurückreturn(wert1 + wert2);}//-----------------------------------------------------}
public static void main (String[] args) {
public int Plus (int wert1, int wert2)
{
int ergebnis_plus=wert1+wert2;
System.out.print ("Die Summe ist" + ergebnis_plus);
}
public int Minus (int wert1 , int wert2)
{
int ergebis_minus=wert1 - wert2;
System.out.print ("Die Substraktion ist" + ergebnis_minus);
}
public int Mal (int wert1, int wert2)
{
int ergebnis_mal=wert1 * wert2;
System.out.print ("Die Multiplikation ist" + ergebnis_mal);
}
public int Durch (int wert1, int wert2)
{
int ergebnis_durch=wert1 / wert2;
System.out.print ("Die Division ist" + ergebnis_durch);
}
Die Methoden stehen immer noch INNERHALB der main-Methode!
Allen deinen Methoden (außer main()) fehlt die return-Anweisung. Wobei das schon möglich wäre, aber dann dürfen deine Methoden keinen Rückgabewert deklarieren.
Die Ausgabe sollte in main() und nicht in die einzelnen Methoden.
Der Klassenname sollte mit einem Großbuchstaben beginnen. Das ist kein Fehler, aber eine anerkannte Konvention, die dem Verständnis dient. Dementsprechend sollten Methodennamen mit einem Kleinbuchstaben beginnen.
"Die Ausgabe sollte in main() und nicht in die einzelnen Methoden."
Aber die Ausgabe unterscheidet sich doch von Methode zu Methode?
Ich habe bisher nicht gelernt das immer ein return gesetzt werden muss
Möchtest du Methoden schreiben, die einen Rückgabewert haben? Falls ja, dann benötigst du auch ein "return", falls nein, dann musst du die Methode ohne Rückgabewert deklarieren:
void add(int a, int b) // Methode ohne Rückgabewert => "void"
Im Gegensatz dazu deine Deklaration:
int add(int a, int b) // Rückgabewert ist ein "int"
Dazu ist der Rückgabewert der Methode da, den du dir "merken" kannst.
Java:
publicstaticvoidmain(String[] args){int ergebnis =add(1,2);// speichert den Rückgabewert in der VariablenSystem.out.print ("Die Addition ist"+ ergebnis);// und gibt die Variable aus}
Du kannst den Rückgabewert auch direkt ausgeben, ohne ihn zwischenzuspeichern:
Java:
publicstaticvoidmain(String[] args){System.out.print ("Die Addition ist"+add(1,2));// addieren und ausgeben}
ok dann dank ich euch. Hab viel gelernt.
Was mich ärgert: ich habe doch 30 x nach einem Schreibfehler gesucht und Nix gefunden ...
Najut. Irgendwann kann Frau alles lernen