Warum funktioniert diese einfache Methode nicht?
3 Antworten
![](https://images.gutefrage.net/media/user/MrAmazing2/1562539605664_nmmslarge__63_0_466_466_da6195808c107c57ce2a8b233a2bcf4f.jpg?v=1562539606000)
Weil du sie innerhalb der main-Methode erstellt hast.
Du kannst nicht eine Methode in einer anderen erstellen. Die müssen nacheinander.
public class Methoden {
public static void main() {
…
}
public static int add(int z, int q) {
…
}
}
![](https://images.gutefrage.net/media/user/MrAmazing2/1562539605664_nmmslarge__63_0_466_466_da6195808c107c57ce2a8b233a2bcf4f.jpg?v=1562539606000)
Bei Java schreibt man die Klammern üblicherweise in die selbe Zeile.
Nehme mal an du bist C# Programmierer, da schreibt man sie in die nächste.
![](https://images.gutefrage.net/media/user/Dultus/1719823117497_nmmslarge__0_0_450_450_9e1367268a0c3376f63d5823c5a4b995.png?v=1719823118000)
C# und C++, richtig. :-) Mache nur Witze, alles gut.
![](https://images.gutefrage.net/media/user/MrAmazing2/1562539605664_nmmslarge__63_0_466_466_da6195808c107c57ce2a8b233a2bcf4f.jpg?v=1562539606000)
Also bei C++ schreibt man die Klammer doch auch in die selben Zeile or not? xD
![](https://images.gutefrage.net/media/user/Dultus/1719823117497_nmmslarge__0_0_450_450_9e1367268a0c3376f63d5823c5a4b995.png?v=1719823118000)
Nope. :D
Naja, im Grunde ist es irrelevant, weil die IDE am Schluss ja darüber entscheidet.
Bei unserem Code haben wir das zumindest nicht ein mal getan.
![](https://images.gutefrage.net/media/default/user/10_nmmslarge.png?v=1551279448000)
egal welche programmiersprache, nur weil das eine üblicher ist heißt das nicht, dass die andere form nicht benutzt wird
in c++ ist das sehr abhängig von der präferenz und in c#/java wird das gegenteilige verwendet
aber auch java benutzt klammern in der nächsten zeile bei programmen wie bluej
![](https://images.gutefrage.net/media/user/Dultus/1719823117497_nmmslarge__0_0_450_450_9e1367268a0c3376f63d5823c5a4b995.png?v=1719823118000)
Weil die Methode innerhalb der main-Methode ist.
Du musst sie außerhalb direkt in der Klasse, nach der main-Methode erstellen.
LG
![](https://images.gutefrage.net/media/default/user/10_nmmslarge.png?v=1551279448000)
ich weiß ist nurn simples beispiel yada yada
aber wenn du funktionen innerhalb von funktionen definieren willst, kannst du lambdas benutzen
//psvm string args {
Function<Integer> add = (z, q) -> z + q;
add.apply(x, y);
}
Heretic! Die Klammer in der selben Zeile, verbrennt den Hexer!