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