Hej Leute,
ich habe gerade begonnen, ein bischen Java zu lernen (ja, mit dem Inselbuch).
Da bin ich gerade bei sehr einfachen Programmen auf der Kommandozeile, welche einen passablen Usage-String nach stderr schreiben sollen, wenn z.B. die Anzahl der Kommandozeilenargumente nicht stimmt.
In C hab ich das z.B. immer so gemacht:
...
if (argc != 3) {
fprintf(stderr, "Usage: %s <arg1> <arg2>\n", argv[0]);
exit(EXIT_FAILURE);
}
...
Da steckt der Name des laufenden Programms im ersten Element des Argumentenvektors.
Bei Java ist das leider nicht so. Da ist args[0] bereits das erste Argument:
public class Stuff {
public static void main(String[] args) {
if (args.length != 2) {
System.err.printf("Usage: %s <arg1> <arg2>%n", ??? );
System.exit(1);
}
...
}
}
Wisst ihr manchmal, was ich anstelle der ??? schreiben muss, um den Namen des laufenden Programms zu bekommen (ohne den hard-zu-coden)?