E-Phase Java

Das Ratespiel

Noch nicht geprüft

Die Aufgabe der heutigen Stunde ist das Ratespiel! Es handelt sich um eine einfache Konsolenanwendung, die eine Zufallszahl generiert und den Nutzer auffordert, diese zu erraten. Das Programm folgt dem EVA-Prinzip (Eingabe, Verarbeitung, Ausgabe) und zählt die Versuche des Nutzers.

Die Aufgabenstellung lautet

In dieser Form ist das Ratespiel etwas langweilig. Besser wird es, wenn man in der Schleife ausgibt, ob die geratene Zahl kleiner oder größer als die gesuchte Zahl ist. Ergänze eine entsprechende Fallunterscheidung. Durch intelligentes Fragen kann man jetzt viel schneller die Zahl erraten, auch wenn du den Zahlbereich von 10 auf 100 vergrößerst.

Lösungsprozess der Aufgabe

Java
/* meininfokurs.cmrg.site */
/**
 *
 * Das fertige Ratespiel Programm
 *
 * @version 1.0 vom 04.06.2025
 * @meininfokurs.cmrg.site
 */
public class RateSpiel {
  public static void main(String[] args) {
    int GesuchteZahl = (int) (Math.random() * 10); // Zufallszahl zwischen 0 und 9
    int GerateneZahl = -1; // Initialwert, um Schleife zu starten
    int Rateversuche = 0; // Zähler für Versuche
    while (GerateneZahl != GesuchteZahl) {
      System.out.println("");
      GerateneZahl = InOut.readInt("Gib eine Zahl ein: ");
      Rateversuche++; // Zählt die Versuche hoch
    }
    System.out.println("Du hast die gesuchte Zahl " + GesuchteZahl + " nach " + Rateversuche + " Versuchen gefunden.");
  } // end of main
} // end of class RateSpiel

In der Aufgabenstellung wird gefordert, dass wir folgende Funktionen in unseren Code implementieren:

  1. Generierung einer Zufallszahl
  2. Nutzereingabe einer Zahl für jeden Rateversuch
  3. Zählung der Versuche, bis die gesuchte Zahl gefunden wird
  4. Ausgabe der gesuchten Zahl und die Anzahl der Versuche

Nutzereingabe und Zufallszahl

Das Programm generiert eine Zufallszahl zwischen 0 und 9 mit Math.random() * 10, die in der INT Variable GesuchteZahl gespeichert wird. Die Variable GerateneZahl wird auf -1 initialisiert, um sicherzustellen, dass die Schleife startet, da -1 nicht im Bereich der Zufallszahl liegt. Das heißt egal welche (positive) Zahl generiert wird, dass Programm wird weiterhin funktionieren, da die -1 != (Ungleich) der generierten positiven Zahl ist. Die Eingaben erfolgen über die Methode InOut.readInt, die den Nutzer in der Konsole nach einer Zahl fragt. Der Code dafür sieht so aus:


int GesuchteZahl = (int) (Math.random() * 10); // Zufallszahl zwischen 0 und 9
int GerateneZahl = -1; // -1 Damit die initialisierung der Variable das Spiel nicht versehentlich beendet
int Rateversuche = 0; // Zähler für Versuche
System.out.println("");
GerateneZahl = InOut.readInt("Gib eine Zahl ein: "); // Die Eingabe des Nutzers wird unter der Variable "GerateneZahl" gespeichert

Verarbeitung und Zählung der Versuche

Eine While-Schleife vergleicht die geratene Zahl mit der gesuchten Zahl. Solange sie nicht übereinstimmen, wird der Nutzer aufgefordert eine neue Zahl einzugeben und die Variable "Rateversuche" wird inkrementiert. Sobald die richtige Zahl geraten wird, endet die Schleife, und die Ergebnisse werden ausgegeben. Hier ist ein Beispiel, wie die Verarbeitung funktioniert:


/* Beispiel: GesuchteZahl = 7 */
int GesuchteZahl = 7;
int GerateneZahl = -1;
int Rateversuche = 0;
while (GerateneZahl != GesuchteZahl) {
  System.out.println("");
  GerateneZahl = InOut.readInt("Gib eine Zahl ein: "); /* Nutzereingaben: 3, 8, 7 */
  Rateversuche++; /* Rateversuche: 1, 2, 3 */
}
System.out.println("Du hast die gesuchte Zahl 7 nach 3 Versuchen gefunden.");

Aufgabe suchen

Tippe los. Strg+K öffnet die Suche von überall.

Zuletzt angesehen

Werbung