Für Sie, die beklagen, dass Javas Hauptmethode statisch ist

Motivation

Sie können ein einfaches Programm aus der Hauptmethode mit einer kleinen Funktionsprüfung schreiben. Jetzt, wo ich JShell habe, habe ich möglicherweise nicht viele Möglichkeiten, dies zu tun. (Welcher)

Da die Hauptmethode statisch ist, ist es eine Geschichte, wenn Sie etwas Problematisches tun möchten.

Dinge die zu tun sind

Sie können mit der Hauptmethode eine eigene Instanz erstellen und die Instanzmethode ausführen.

Main.java


public class Main {
    public static void main(String[] args) {
        new Main().execute();
    }
}

public void execute() {
    ...
}

Beiseite

Wenn Sie bei der Wettbewerbsprogrammierung eine Vorlage vorbereiten, die die Vor- und Nachbearbeitung sowie den Aufruf der Instanzmethode zur Implementierung in der Hauptmethode beschreibt, wird etwas unternommen.

Zum Beispiel mache ich eine Vorlage wie diese.

Vorlagenauszug


public class Main {
    public static void main(String[] args) {
        PrintWriter out = new PrintWriter(System.out);
        InputStreamScanner in = new InputStreamScanner(System.in);
        new Main().solve(in, out);
        out.flush();
    }

    private void solve(InputStreamScanner in, PrintWriter out) {
        in.nextInt();

        out.println();
    }
//(Im Folgenden Implementierung des selbst erstellten Scanners)

In diesem Bereich gibt es je nach Person verschiedene Stile. Ich denke, Sie sollten sich auf den Quellcode verschiedener Wettbewerber beziehen.

Recommended Posts

Für Sie, die beklagen, dass Javas Hauptmethode statisch ist
Für Sie, die beklagen, dass die Konvertierung von JODConverter + LibreOffice langsam ist
20 Entspricht statischen Methodenaufrufen
Verwenden Sie den Modifikator # isStatic, um festzustellen, ob die Methode [Reflection] statisch ist.
Für Sie, die unbedingt eine Rückverfolgung benötigen
Für Sie, die sagten "JDK 9 ist aus, aber meine Wartungszielanwendung ist JDK 6"
Was ist die Hauptmethode in Java?
Schreiben Sie Code, der schwer zu testen ist
Suchen Sie einen geeigneten Wert für eine Methode und machen Sie sie zu einem ValueObject