Tipps/Anmerkungen zu meiner Lösung?!

Woutan

Neues Mitglied
Hi,
bitte Tipps oder gerne mal eure Lösungen zu den Aufgaben ohne auf Meine zu schauen;).
Mfg Florian


Zufallszahlen

Zufallszahlen zwischen 0 und 1 liefert die Methode Math.random(). Möchte man Werte in einem anderen Wertebereich erzeugen, so ist es eine einfache Lösung, die Zufallszahlen von Math.random() durch Multiplikation auf den gewünschten Wertebereich auszudehnen und per Addition geeignet zu verschieben.

Um ganzzahlige Zufallszahlen zwischen einer Untergrenze ug und einer Obergrenze og (einschließlich) zu erhalten, berechnet man ug + (int) Math.floor(Math.random() * (og-ug+1)).

Beispiel „Zahlen zwischen 10 und 19 (einschließlich)“: ...

int ug=10; // Untergrenze

int og=19; // Obergrenze

int zufallszahl; zufallszahl = ug + (int) Math.floor(Math.random()*(og-ug+1));

b) Führen Sie schrittweise die folgenden Erweiterungen durch:


i. Nach jedem erfolgreichen Raten soll gefragt werden, ob der Benutzer noch einmal spielen möchte.

ii. Nach jedem Fehlversuch soll das Programm dem Benutzer einen Tipp geben, ob die gesuchte Zahl größer oder kleiner als die eingegebene Zahl ist.

iii. Am Ende eines jeden Spiels soll das Programm ausgeben, wie viele Versuche zum Erraten der Zahl benötigt wurden.






Java:
public static void main(String[] args) {
    int ug =1;
    int og =20;
    int zufallszahl;
    int zufallszahl2;
    int counter = 1;
    zufallszahl = ug + (int) Math.floor(Math.random()*(og-ug+1));
   
    for (int a=0;a<20;a++) {
     
      int eingabe = IO.readInt("Raten Sie eine Zahl["+ug+"-"+og+"]:"); 
     
      if (eingabe != zufallszahl) {
        System.out.println("Leider Falsch!");
        counter++;
        while (eingabe>zufallszahl) {                                        
          String t = "kleiner";
          System.out.println("Die Gesuchte Zahl ist "+ t +".");
          break;
        } 
        while (eingabe<zufallszahl) {
          String t = "größer";
          System.out.println("Die Gesuchte Zahl ist " + t +".");
          break;
        } 
      } 
     
      else {
        System.out.println("Herzlichen Glückwunsch!\nSie haben die Zahl erraten!");
        System.out.println("Sie haben "+counter+" Versuche gebraucht.");
        counter = 1;
        break;
      } 
    }
   
   
    char wahl = IO.readChar("Möchten Sie noch einmal spielen? (Y/N):");
   
   
    while (wahl =='Y'|| wahl =='y') {
     
      zufallszahl2 = ug + (int) Math.floor(Math.random()*(og-ug+1));
     
      for (int a=0;a<20;a++) {
       
        int eingabe = IO.readInt("Raten Sie eine Zahl["+ug+"-"+og+"]:"); 
       
        if (eingabe != zufallszahl2) {
          System.out.println("Leider Falsch!");
          counter++;
          while (eingabe>zufallszahl2) {                                        
            String t = "kleiner";
            System.out.println("Die Gesuchte Zahl ist "+ t +".");
            break;
          } 
          while (eingabe<zufallszahl2) {
            String t = "größer";
            System.out.println("Die Gesuchte Zahl ist " + t +".");
            break;
          }  
        } 
       
        else {
          System.out.println("Herzlichen Glückwunsch!\nSie haben die Zahl erraten!");
          System.out.println("Sie haben "+counter+" Versuche gebraucht.");
          break;
        }
      }
    }
  }
 

temi

Top Contributor
Es ist nicht schön, dass du die for-Schleife für das Spiel zweimal im Programm hast. Das ist schlechter Stil (DRY-Prinzip = don't repeat yourself).

Versuche, ob du einen Weg findest, die for-Schleife innerhalb der while-Schleife unterzubringen.

Tipp: Du musst die Bedingung der while-Schleife vor dem ersten Aufruf geeignet initialisieren, damit sie wenigstens einmal ausgeführt wird.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Tipps zum Code Java Basics - Anfänger-Themen 24
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
W Testing Tipps Java Basics - Anfänger-Themen 3
M Brauche Tipps für ein Spiel Java Basics - Anfänger-Themen 4
G Datentypen Tipps, Ratschläge erwünscht bzgl. Datentyp bestimmen über Wertebereich Java Basics - Anfänger-Themen 5
Thallius Best Practice Umsteiger braucht Tipps zur Bildverarbeitung Java Basics - Anfänger-Themen 1
R Tipps zur umsetzung eines Musters mit for-schleife Java Basics - Anfänger-Themen 1
M Tipps für einen Java-Anfänger Java Basics - Anfänger-Themen 5
J Rekursion - Tipps zum Vorgehen Java Basics - Anfänger-Themen 11
J Suche Tipps zum erstellen von Algorithmen Java Basics - Anfänger-Themen 5
D Design-Tipps für neues Programm (Excel-Charts-...) Java Basics - Anfänger-Themen 3
X Tipps zum Vertiefen Java Basics - Anfänger-Themen 12
V Kleiner Wecker mit Gui (Brauche Tipps) Java Basics - Anfänger-Themen 5
GambaJo Brauche Bewertung + Tipps für mein kleines Projekt Java Basics - Anfänger-Themen 4
G Programmstruktur, brauche Tipps Java Basics - Anfänger-Themen 9
F Anfänger - die besten Tipps Java Basics - Anfänger-Themen 3
K Brauche nur Tipps Leute habe keine plan wie ich dass machen Java Basics - Anfänger-Themen 4
P Bitte um ein paar Tipps! (Threads, Warten auf Ereignisse,.) Java Basics - Anfänger-Themen 2
S Tipps zum Einstieg in Java Java Basics - Anfänger-Themen 30
B Tipps für die realisierung eines Projekts: Java Basics - Anfänger-Themen 5
M Nullpointer beim befüllen meiner Liste im Object Java Basics - Anfänger-Themen 3
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
I ResultSet aus meiner SQL-Abfrage in einem JTextfield ausgeben. Java Basics - Anfänger-Themen 1
O Ich ahbe einen char und diesen soll ich bei .matches prüfen, also ob der char in meiner Zeichenkette vorhanden ist, wie mache ich das? Java Basics - Anfänger-Themen 9
1 Erste Schritte Was denkt ihr über eines meiner ersten Javaprogramme? Java Basics - Anfänger-Themen 2
J Was mache ich falsch in meiner Java Anwendung? Java Basics - Anfänger-Themen 11
JavaNewbie2.0 Gibt meiner Meinung etwas falsches aus. Java Basics - Anfänger-Themen 7
J java.lang.NullPointerException in meiner JavaFXControllerKlasse Java Basics - Anfänger-Themen 26
A Erste Schritte Problem bei meiner if-Abfrage! Java Basics - Anfänger-Themen 5
Q Importieren meiner Boundary? Bitte Hilfe Java Basics - Anfänger-Themen 3
N Favicon in meiner Anwendung Java Basics - Anfänger-Themen 9
M Frage zu meiner main datei Java Basics - Anfänger-Themen 5
M Interval Teilmenge bestimmen - Fehler in meiner Lösung Java Basics - Anfänger-Themen 6
U Probleme in meiner Mainmethode Java Basics - Anfänger-Themen 5
D iText.jar mit meiner bat.datei einbinden Java Basics - Anfänger-Themen 10
T .add() von Objekten in meiner GUI nicht sichtbar Java Basics - Anfänger-Themen 7
N Probleme mit meiner Programmierung Java Basics - Anfänger-Themen 5
H Hänge an meiner Aufgabe Java Basics - Anfänger-Themen 18
W Wie kann ich auf Object meiner Collection zugreifen Java Basics - Anfänger-Themen 7
S Fortsetzung meiner frage (hashtable) danke vorab an alle Java Basics - Anfänger-Themen 3
JeromeM90 Hilfe bei meiner StringSuche Java Basics - Anfänger-Themen 17
A Ein Feld meiner jTable färben Java Basics - Anfänger-Themen 6
M Problem mit meiner Ausgabe :-( Java Basics - Anfänger-Themen 3
W Kann in meiner Jar nicht auf externe Jar zugreifen Java Basics - Anfänger-Themen 4
L wie den pfad zu meiner datei herausfinden? Java Basics - Anfänger-Themen 2
S Tomcat Error mit meiner ersten JSF Seite Java Basics - Anfänger-Themen 17
N NullPointerException bei meiner Hashtable Java Basics - Anfänger-Themen 2
G Problem beim Spalte hinzufügen in meiner tabelle. Java Basics - Anfänger-Themen 6
G 2 Probleme mit meiner GUI Java Basics - Anfänger-Themen 4
S Bitte helft mir bei meiner matura (abitur) Java Basics - Anfänger-Themen 19
N Kleines Problem mit meiner ersten Klasse Java Basics - Anfänger-Themen 5
N kleines Problem mit meiner Schleife Java Basics - Anfänger-Themen 8
J Sprachausgabe auch mit Stimme meiner Frau? Java Basics - Anfänger-Themen 6
L Dieses Problem nagt an meiner Würde - Argument * Java Basics - Anfänger-Themen 4
D Hilfe bei meiner Winfo-Klausur Java Basics - Anfänger-Themen 21
M Problem bei meiner Applikation :( Java Basics - Anfänger-Themen 9
Z Fehler beim Ausführen meiner Testdatei in JBuilder Java Basics - Anfänger-Themen 7
S Fehler beim Aufruf meiner Methode, warum? Java Basics - Anfänger-Themen 16

Ähnliche Java Themen

Neue Themen


Oben