Auf Thema antworten

Oder Du nimmst eine Methode, die entweder eine Zahl oder null zurückgibt. Letzteres nur, wenn eine Leerzeile eingegeben wurde. Zusammengeschustert:

[code=Java]

    private static Double liesDezimalzahl(String prompt) {

        Double result = null;

        boolean done;

        String errMsg = "Bitte nur positive Dezimalzahlen eingeben";

        do {

            done = true;

            System.out.print(prompt);

            String zeile = sc.nextLine();

            if (!zeile.isEmpty()) {

                try {

                    result = Double.parseDouble(zeile);

                    if (result <= 0.0) {

                        result = null;

                    }

                } catch (NumberFormatException ex) {

                    // nichts zu tun

                }

                if (result == null) {

                    done = false;

                    System.out.println(errMsg);

                }

            }

        } while (!done);


        return result;

    }

[/code]



Oben