/media/sda-magnetic/david/Extern-Magnetic-2022-06-29/Extern01/Dokumente-11-2021-07-05/informatik-math/java-fernuni-hagen-2021-10-28/ZahlAusdenken.java


class ZahlAusdenken {
    public static void main(String[] args) {
        int startzahl;
        if (args.length == 0) {
            startzahl = 7;
        }
        else {
            startzahl = Integer.parseInt(args[0]);
        }
        /* Wir nehmen das erste Argument von den Uebergabeparametern und wandeln es in eine Integer-Zahl um */
        
        
        int ergebnis = startzahl;
        /* Wir deklarieren eine neue Variable Ergebnis und initialisieren sie mit dem Wert von vorher */
        
        
        if (ergebnis > 0) {
            /* Wenn das Ergebnis größer 0 ist, addieren wir zwei */
            ergebnis = ergebnis + 2;
        } else {
            /* Wenn das ERgebnis kleiner Null ist - machen wir die Zahl positiv und addieren 2*/
            ergebnis = ergebnis * (-1) + 2;
        }
        while (ergebnis > 2) {
            /* Jetzt kommt eine Schleife, solange das Ergebnis > 2 ist, subtrahieren wir 2*/
            ergebnis = ergebnis - 2;
        }
        int arbeiten = 4;
        /* Das ist für mich ein ungewöhnliches Konstrukt und soll wohl die Programmzeit erhöhen*/
        /* Wir haben es mit einer for-Schleife Zu tun, bei der wir einen Schleifenzähler i haben - und diesesn solange mit 2 inkrementieren, bis wir bei 20 sind. Dabei wird arbeiten jedes Mal mit Starzahl inkrementiert */
        for (int i = 2; i <= 20; i = i + 2) {
            arbeiten = arbeiten + startzahl;
        }
        switch (ergebnis) {
        /* So, hier wird jetzt das Ergebnis ausgeweertet, und das ergebibt zur vorherigen Schleife wieder einen Sinn
        Wir haben solange von Ergebnis 2 abgezogen, solange Ergebnis größer 2 ist.
        Nehmen wir an Ergebnis ist am Ende 3: Dan haben wir ein 1. Bei 5 ebenso, weil wir kommen zur 3
        Bei 4, -2 macht 2. Nun heißt es aber in der Schleife > 2. 2 ist nicht größer 2. Aber jetzt könenn wir auswerten. Wenn wir 0 haben, das geht de facto nicht, weil größer zwei. 1, kann bei ungeraden Zahlen sein, 2 bei geraden */
        case 0:
            System.out.println("Das kann nicht sein!");
            break;
        case 1:
            System.out.println("Die urspruengliche Zahl war ungerade!");
            break;
        case 2:
            System.out.println("Die urspruengliche Zahl war gerade!");
            break;
        default:
            System.out.println("Fehler!");
        }
        System.out.println("startzahl = " + startzahl);
    }
}