57 lines
1.6 KiB
Java
57 lines
1.6 KiB
Java
import java.util.Scanner;
|
|
import java.util.Random;
|
|
/**
|
|
* Klasse zum Erraten einer Zahl
|
|
*/
|
|
public class ZahlenRaten {
|
|
public static void main(String[] args) {
|
|
System.out.println("Denken Sie sich eine Zahl zwischen 1 und 10 aus.");
|
|
System.out.println("Ich werde versuchen, diese zu erraten.\n");
|
|
|
|
Random random = new Random();
|
|
Scanner console = new Scanner(System.in);
|
|
|
|
int versuche = 1;
|
|
|
|
int guess = random.nextInt(10) + 1;
|
|
while (!fragen(console, guess)) {
|
|
guess = random.nextInt(10) + 1;
|
|
versuche++;
|
|
}
|
|
|
|
System.out.println("\nIch habe " + versuche + " Versuche gebraucht.");
|
|
}
|
|
|
|
/**
|
|
* Fragt den Benutzer ob eine Zahl die richtige ist
|
|
* Falls ja, wird true zurueckgegeben, andernfalls false
|
|
* Fragt so lange nach, bis eine gueltige Antwort gegeben wird
|
|
*/
|
|
public static boolean fragen(Scanner console, int zahl) {
|
|
String input = einmalFragen(console, zahl);
|
|
while (true) {
|
|
|
|
if (input.equals("J")) {
|
|
return true;
|
|
}
|
|
if (input.equals("N")) {
|
|
return false;
|
|
}
|
|
|
|
System.out.println("Bitte antworten Sie mit J oder N.");
|
|
input = einmalFragen(console, zahl);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* Fragt den Benutzer ob eine Zahl die richtige ist
|
|
* Gibt die Eingabe des Benutzers in Grossbuchstaben zurueck
|
|
*/
|
|
public static String einmalFragen(Scanner console, int zahl) {
|
|
System.out.print("Ist es die " + zahl + "? (J/N) ");
|
|
String input = console.nextLine().toUpperCase();
|
|
return input;
|
|
}
|
|
}
|