Java :: Aufgabe #25 :: Lösung #4

4 Lösungen Lösungen öffentlich
#25

Zahlen erraten lassen.

Anfänger - Java von zayc_ - 28.12.2012 um 14:08 Uhr
Programmiere ein Programm, welches eine vom User erdachte Zahl (Integer) in einem vom User angegebenen Bereich Erraten soll.

Konsolenausgabe:


Bitte Untergränze angeben: 0
Bitte Obergränze angeben: 100

Bitte geben sie nach jedem versuch R,G oder K an. je nachdem ob
R die Zahl richtig ist
G die gesuchte Zahl grösser ist
K die gesuchte Zahl kleiner ist



1. Versuch: 50.
k
2. Versuch: 25
g
3. Versuch: 37
g
4. versuch: 42
g
5. Versuch: 46
k
6. Versuch: 44
k
7. Versuch: 43
r
Die gesuchte Zahl war also die 43!



#4
vote_ok
von 0 (0 Punkte) - 11.04.2021 um 11:36 Uhr
Quellcode ausblenden Java-Code
import java.util.Random;
import java.util.Scanner;

public class ZahlenErratenLassen {

    private static int versuche;
    private static int versuch;

    private static int obergrenze;
    private static int untergrenze;

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        System.out.print("Bitte Untergrenze angeben: ");
        untergrenze = scanner.nextInt();

        System.out.print("Bitte Obergrenze angeben: ");
        obergrenze = scanner.nextInt();

        System.out.println(" ");

        System.out.println("Bitte geben sie nach jedem Versuch R, G oder K an. Je nachdem ob R die Zahl richtig ist, G die gesuchte Zahl größer ist, K die gesuchte Zahl kleiner ist.");
        System.out.println(" ");
        System.out.println(" ");

        versuche = 0;

        while (!programmVersuch()) {}

        System.out.println("Die gesuchte Zahl war also die " + versuch + "!");

    }

    private static boolean programmVersuch() {

        Random random = new Random();

        versuch = random.nextInt(obergrenze-untergrenze) + untergrenze;

        Scanner scanner = new Scanner(System.in);

        System.out.println(versuche + ". Versuch: " + versuch);

        String input = scanner.nextLine();

        if (input.equalsIgnoreCase("r")) {
            return true;
        }

        if (input.equalsIgnoreCase("k")) {
            obergrenze = versuch-1;
        } else if (input.equalsIgnoreCase("g")) {
            untergrenze = versuch+1;
        }

        return false;
    }

}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben