Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo Leute!
Ich habe gerade erst gelernt mit Java umzugehen und wollte als test mal ein kleines "Spiel" programmieren. Leider bekomme ich beim ausführen den folgenden Fehler:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
at GuessingGame.main(GuessingGame.java:8)
Hier ist der Code:
Java:
import static java.lang.System.out;
import java.util.Scanner;
import java.util.Random;
class GuessingGame {
public static void main(String args[]) {
Scanner keyboard = new Scanner(System.in);
int numGuesses = 0;
out.print("Geben Sie eine ganze Zahl ");
out.print("zwischen 1 und 100 ein: ");
int inputNumber = keyboard.nextInt();
int randomNumber = new Random().nextInt(100) +1;
do {
if (inputNumber < randomNumber) {
out.print("Die eingegebene Zahl ");
out.println("ist zu klein.");
out.println("Versuchen Sie es erneut!");
}
if (inputNumber > randomNumber) {
out.print("Die eingegebene Zahl ");
out.println("ist zu groß.");
out.println("Versuchen Sie es erneut!");
}
} while (inputNumber != randomNumber);
out.print("Die gesuchte Zahl lautete ");
out.println(randomNumber + "." );
out.println("Sie gewinnen!");
}
}
}
Hab das Programm schon mehrmals durchgeschaut, kann aber keinen Fehler entdecken. Ich hoffe ihr könnt mir helfen.
Danke im voraus und liebe Grüße!
ich habe es gerade mal bei mir ins eclipse geschrieben, ich bekomme keinen Fehler aber du hast eine Endlosschleife egal was die Eingabe ist.
versuch mal die Nutzereingabe in die do-while schleife mit rein zu nehmen
Lösung:
Java:
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int numGuesses = 0;
int inputNumber;
int randomNumber;
do {
out.print("Geben Sie eine ganze Zahl ");
out.print("zwischen 1 und 100 ein: ");
inputNumber = keyboard.nextInt();
randomNumber = new Random().nextInt(100) + 1;
if (inputNumber < randomNumber) {
out.print("Die eingegebene Zahl ");
out.println("ist zu klein.");
out.println("Versuchen Sie es erneut!");
}
if (inputNumber > randomNumber) {
out.print("Die eingegebene Zahl ");
out.println("ist zu groß.");
out.println("Versuchen Sie es erneut!");
}
} while (inputNumber != randomNumber);
out.print("Die gesuchte Zahl lautete ");
out.println(randomNumber + ".");
out.println("Sie gewinnen!");
}
@njans: Au man, diese dumme Klammer war es..
@lenuyx: Du hast recht. Nachdem ich die Klammer weggemacht habe wurde die Konsole überflutet. Aber dadurch, dass ich alles in die Schleife genommen habe, wurde bei jeder Eingabe eine neue Zahl ausgesucht. Hab einfach "randomNumber = new Random().nextInt(100) +1;" vor der do-while-Schleife gelassen und jetzt ist alles gut.