Zahlenratespiel mit JAVA

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Bitte denk das nächste mal den Code zu formatieren (durch 4 Leerzeichen vor der Zeile oder durch das Drücken des "Code" Symbols(Strg+k)

Folgender code ist in Eclipse mit java 1.6 getestet und funktioniert einwandfrei. (Achtung, ist nur die main Methode ohne Klasse ;))

public static void main(String[] args)
{
    Scanner input = new Scanner(System.in);
    System.out.println("Willkommen zu Andy's Ratestunde");
    int z = (int) Math.ceil(10*Math.random());
    System.out.println("\nBitte gebe eine Zahl zwischen 1 und 10 ein");
    int s = 0;

    do
    {
        s = input.nextInt();
        if(s > 0 && s <= 10 && s != z)
        {
            System.out.println("Die Zahl ist falsch! Versuch es nocheinmal!");
        }
        else if(s < 0 || s > 10)
        {
            System.out.println("Die Eingegebene Zahl muss zwischen 1 und 10 liegen.");
        }
    }
    while(s != z);

    System.out.println("\nDu hast die Zahl erraten, es war die Zahl '" + s + "'! Happy Birthday ;-)");
public class Ratestunde{

public static void main(String[] args){ Scanner input = new Scanner(System.in); 

   bool erraten = false;

System.out.println("\n Willkommen zu Andy's Ratestunde\n\n");


int z = (int) Math.ceil(10*Math.random());
int s = input.nextInt(); 
while(erraten  == false)
{

 System.out.println("\n\nBitte gebe eine Zahl zwischen 1 und 10 ein\n"); 



if (s==z){ System.out.println("\nDu hast die Zahl erraten! Happy Birthday ;-)\n\n"); erraten = true; } 
else{ System.out.println("\nDie Zahl ist falsch! Versuch es nocheinmal!\n\n"); } } }

}

So würde ich das jetzt probieren !!!

PS. ich würde noch abfragen, ob die eingegebene Zahl zu groß oder zu klein ist und das dann ausgeben -> sonst weis man ja garnicht wo man weiter raten muss


SchnubbiCelle 
Beitragsersteller
 20.02.2012, 13:46

Vielen Dank, das werde ich gleich mal ausprobieren

int z = (int) Math.ceil(10*Math.random()); System.out.println("\n\nBitte gebe eine Zahl zwischen 1 und 10 ein\n"); int s = input.nextInt(); if (s==z){ System.out.println("\nDu hast die Zahl erraten! Happy Birthday ;-)\n\n"); } else{ System.out.println("\nDie Zahl ist falsch! Versuch es nocheinmal!\n\n"); } } }

wann endet die schleife? Unabhaengig davon dass ein desktop ... auch ein erechner bis vor wenigen minuten nicht denken kann und du per randdom() eine zufallszahl erzeugt hast .... ich dachte immer, das waere eine eingebaute funktion ;-)


SchnubbiCelle 
Beitragsersteller
 20.02.2012, 13:45

Die Schleife soll dann enden, wenn die eingegebene Zahl mit der Zufallszahl übereinstimmt. Wenn nicht, dann soll ich so lange eine Zahl eingeben können, bis sie richtig ist. Sorry wenn ich mich etwas grob ausdrücke aber ich bin sehr neu in dem Gebiet ;-)

James131  20.02.2012, 14:14
@SchnubbiCelle

Ich scheine mich nicht ausgedrueckt zu haben ... es ging mir darum, dass Du Dir den zitierten teil mal anschaust und dann uebherlegst, was wann warum passiert, wann ein aussiegspunkt erreicht wird und warum.

Nein, ich gebe Dir keinen code, es ist Deine entwicklung, also ...... erarbeite den Dir schrittweise :-P