Java :: Aufgabe #24
4 Lösungen

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.
Lösungen:

/* * Code written by Oppa Hansi, oppahansi on pastebin. */ import java.util.Random; import java.util.Scanner; public class ZahlenRaten { public static void main(String[] args){ Scanner s = new Scanner(System.in); Random zufall = new Random(); int zufallZahl = 0; boolean aktiv = true; String antwort = ""; while(aktiv){ System.out.println("Lustiges Zahlenraten"); System.out.println("---------------------"); System.out.println("Erraten Sie die Zufahlszahl in moeglichst wenigen Schritten!"); System.out.println("Die Zahl kann zwischen 1 und 100 liegen"); zufallZahl = 0 + zufall.nextInt(100- 0 + 1); int eingabe = 0; int versuche = 1; while(eingabe != zufallZahl){ System.out.println("Bitte eine Zahl eingeben: "); eingabe = s.nextInt(); if(eingabe < 0 || eingabe > 100){ System.out.println("Ungültige Eignabe. Bitte Eingabe wiederholen:"); }else if(eingabe < zufallZahl){ System.out.println("Die gesuchte Zahl ist groesser!"); versuche++; }else if(eingabe > zufallZahl){ System.out.println("Die gesuchte Zahl ist kleiner!"); versuche++; }else if(eingabe == zufallZahl){ System.out.println("Sie haben die gesuchte Zahl gefunden!"); System.out.println("Sie haben die " + zufallZahl + " in " + versuche + " Versuchen gefunden."); break; } } System.out.println("Weiter spielen? (j = Ja. | n = Nein."); antwort = s.next(); if(antwort.compareTo("j") == 0){ aktiv = true; System.out.println(); }else{ aktiv = false; } } } }

/** * @author ElPapito * @date 08.05.2015 */ import java.util.Scanner; public class Zahlenraten { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int random = (int) (1 + Math.random() * 100); int count = 0; System.out.println("Bitte erraten Sie die gesuchte Zahl, " + "sie befindet sich zwischen 1 und 100."); int tipp = 0; while (tipp != random) { count++; System.out.print("Ihr " + count + ". Versuch: "); tipp = scanner.nextInt(); if (tipp == random) { System.out.println("Glueckwunsch die von Ihnen eingegebene Zahl" + " (" + tipp + ") " + "stimmt mit der gesuchten Zahl ueberein."); } else if (tipp < random) { System.out.println("Die gesuchte Zahl ist groesser."); } else if (tipp > random) { System.out.println("Die gesuchte Zahl ist kleiner."); } } scanner.close(); } }

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; } }

import java.util.Random; import java.util.Scanner; public class ZahlenRatenAnfaenger { private static int zahl; private static int versuch; public static void main(String[] args) { Random random = new Random(); zahl = random.nextInt(100)+1; versuch = 1; System.out.println("Bitte erraten sie die gesuchte Zahl, sie befindet sich zwischen 1 und 100."); while (!startVersuch()) { startVersuch(); } System.out.println("Glückwunsch die von Ihnen eingegebene Zahl (" + zahl + ") stimmt mit der gesuchten Zahl überein."); } private static boolean startVersuch() { Scanner scanner = new Scanner(System.in); System.out.print("Ihr " + versuch + ". Versuch: "); int versuchZahl = scanner.nextInt(); if (versuchZahl == zahl) { return true; } else if (versuchZahl > zahl) { System.out.println("Die gesuchte Zahl ist kleiner!"); } else if (versuchZahl < zahl) { System.out.println("Die gesuchte Zahl ist größer!"); } versuch++; return false; } }