Warum nur String in main?

Hallo liebe Experten,
wenn ich eine Main- Methode schreibe:
public static void main(String[]args){
dann definiere ich mit Strig den Datentyp für das Array args. warum
kann ich hier aber nicht z.B.
int einsetzen? wenn ich ein Programm mit int schreibe, so lässt sich
dieses fehlerfrei mit javac kompilieren, aber wenn ich das Programm
dann mit java… ausführen will bekomme ich die Fehlermeldung:
Exception in thread „main“ java.lang.NoSuchMethodError: main
Woran liegt das? Ich gebe übrigens beim Programm Aufruf keine
Parameter an.

P.S.: Es handelt sich hier um eine rein hypothetische Frage ohne
Bezug zu einem aktuellen Programm.
Gruß thefly

Der Interpreter sucht beim Ausführen eben genau nach der Methode
main(String[] args) wenn er das Programm ausführen will. Du kannst
natürlich auch eine Methode main(int foo) schreiben, aber nach der
sucht der Interpreter nicht. Deshalb die Fehlermeldung. Dem Compiler
ist das natürlich egal, weil es ja syntaktisch richtig ist. Und es
halt dann eben eine nicht ausführbare Klasse ist, die halt zufällig
eine Mehtode hat, die main heißt. Deshalb kein Fehler bei der
Kompilierung.

Wenn du int als Eingabeparameter brauchst, musst du den String mit
Interger.parseInt(args[0]) parsen.

Gruß
Tobi

Danke, ich dachte immer der würde nur nach main suchen
gruß
thefly