Java :: Aufgabe #24 :: Lösung #3
4 Lösungen

#24
Zahlen Raten - Anfänger
Anfänger - Java
von zayc_
- 28.12.2012 um 13:49 Uhr
Das zu Programmierende Programm soll eine zufallszahl (integer, <=1, >=100) generieren.
Der User soll diese erraten. Nach jedem versuch soll der User darüber informiert werden, der wie vielte Versuch es war, ob er richtig oder falsch liegt, und wenn er falsch liegt ob die gesuchte Zahl grösser oder kleiner als die vom User eingegebene ist.
Beispiel einer Konsolenausgabe:
Der User soll diese erraten. Nach jedem versuch soll der User darüber informiert werden, der wie vielte Versuch es war, ob er richtig oder falsch liegt, und wenn er falsch liegt ob die gesuchte Zahl grösser oder kleiner als die vom User eingegebene ist.
Beispiel einer Konsolenausgabe:
Konsolenausgabe:
Bitte erraten sie die gesuchte zahl, sie befindet sich wichen 1 und 100.
ihr 1. Versuch: 6
die gesuchte Zahl ist Kleiner.
ihr 2. Versuch: 2
die gesuchte Zahl ist Grösser.
ihr 3. Versuch: 4
Glückwunsch die von Ihnen eingegebene Zahl ( 4 ) stimmt mit der gesuchten Zahl Überein.
#3

von tobiasbillen (220 Punkte)
- 18.07.2019 um 21:43 Uhr

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /** * * @author tobias */ public class Zahlenraten { /** * @param args the command line arguments */ public static void main(String[] args) throws IOException { int min = 1; int max = 100; int randomCount = getRandomNumber(min,max); int userCount = 0; boolean countIsfound = false; int countTry = 1; System.out.println("Bitte erraten sie die gesuchte Zahl, sie befindet sich zwichen " + min + " und " + max + "."); while(!countIsfound){ System.out.print("Ihr " + countTry + ". Versuch: Bitte geben Sie eine Zahl ein:"); userCount = getUserCount(min, max); if(userCount == randomCount){ countIsfound = true; }else{ if(randomCount < userCount){ System.out.println("Die gesuchte Zahl ist kleiner als " + userCount); }else{ System.out.println("Die gesuchte Zahl ist größer als " + userCount); } countTry += 1; } } System.out.println("Sie haben die Zahl " + randomCount + " in " + countTry + " gefunden."); } public static int getUserCount(int min, int max){ int ergebnis = -1; try{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ergebnis = Integer.parseInt(br.readLine()); }catch (IOException | NumberFormatException e){ System.out.println("Es ist ein Fehler aufgetreten. Sie dürfen nur Zahlen eingeben."); return getUserCount(min, max); } if(ergebnis > min && ergebnis <= max){ return ergebnis; }else{ System.out.println("Das gesuchte befindet sich zwischen " + min + " und " + max + ". Bitte geben Sie erneut eine Zahl ein."); return getUserCount(min, max); } } public static int getRandomNumber(int min, int max){ double x = (Math.random() * ((max - min) + 1)) + min; return (int) x; } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1