Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich scheine bei dieser Sprache etwas nicht zu beachten!
bitte sagt mir, was an dem folgenden Quellcode falsch ist!
Code:
public class test
{
public static void main(String[] args)
{
public int summe (int a, int b)
{
int c = (a+b);
return c;
}
}
}
Error:
Code:
test.java:5: illegal start of expression
public int summe (int a, int b)
^
test.java:5: ';' expected
public int summe (int a, int b)
^
test.java:5: <identifier> expected
public int summe (int a, int b)
^
test.java:5: not a statement
public int summe (int a, int b)
^
test.java:5: ';' expected
public int summe (int a, int b)
^
5 errors
Du hast in der Main-Methode eine andere Methode deklariert. Das kann ja nichts werden *g*
Code:
public class test
{
public static void main(String[] args)
{
int s = summe(3,4);
System.out.println(s+"");
}
public static int summe (int a, int b)
{
int c = (a+b);
return c;
}
}
Naja das ist ja reine Definitionssache. Für mich ist das schon ne Funktion, halt eine ohne Rückgabetyp. Und "Methode" bezieht sich doch auf das Dasein als Funktion einer Klasse (in diesem Falle statisch).
Jo... tatsächlich reine Definitionssache... in OOP und somit auch in Java gibt es tatsächlich keine Funktionen sondern halt Methoden. Nicht zuletzt um sich von funktionalen Programmiersprachen abzugrenen, in denen Funktionen halt die zentrale Rolle spielen, läuft bei Java/OOP alles auf Schnittstellen und Typen hinaus... die Implementierung innerhalb einer Methode kann man als Funktion werten - aber nach draußen bleibt es dabei eine Methode ... - das mag spitzfindig klingen - aber jede Programmiersprache/Technologie bringt nunmal ihren eigenen Sprachraum mit und an den sollte man sich auch möglichst halten, um Verwechslungen auszuschließen...
Warum man übrigens die Tatsache, das man Methoden nicht innerhalb anderer Methoden definieren kann, als etwas bezeichnen kann, was "nicht auf den ersten Blick Sinn ergibt", erschließt sich mir jetzt nicht - warum sollte das gehen - was sollte der Sinn dahinter sein?
Warum man übrigens die Tatsache, das man Methoden nicht innerhalb anderer Methoden definieren kann, als etwas bezeichnen kann, was "nicht auf den ersten Blick Sinn ergibt", erschließt sich mir jetzt nicht - warum sollte das gehen - was sollte der Sinn dahinter sein?
Naja, in anderen Sprachen (Pascal, Algol68) ist das durchaus möglich und üblich,
um zum Beispiel Funktionen, die von aussen nicht aufgerufen werden sollen zu kapseln.