Ich bin relativ neu in Java und das ist mein erstes Mal arbeiten mit wenn sonst Anweisungen. Ich habe versucht, ein grundlegendes Spiel zu machen, in dem der Benutzer eine Zahl zwischen 1-3 rät, und das Programm sagt ihnen, ob sie richtig oder falsch sind. Wenn ich jedoch das Programm ausführe, wenn ich 1 gebe, antwortet das Programm nicht und ich muss ctrl-E verwenden, um es zu beenden. Was mache ich falsch? Wenn ich Werte neben 1 einstelle, wird das Programm so ausgeführt, wie ich es möchte, indem ich "Auf Wiedersehen" drucke.java wenn Anweisung nicht ausgeführt wird
Hier ist mein Code:
import java.util.*;
public class GuessTheNumber {
public static void main(String[] args) {
Scanner game = new Scanner(System.in);
Random rand = new Random();
System.out.println("Hey there! Want to play a game?");
System.out.println("\tIf yes, type 1");
System.out.println("\tIf no, type 2");
int ans1 = game.nextInt();
if (ans1 == 1) { // This is true, yet when I type 1, nothing happens.
int randomNum = rand.nextInt((3 - 1) + 1) + 1;
int guess = game.nextInt();
System.out.println("Great! I am thinking of an integer between 1 and 3. Guess what it is?");
if (guess == randomNum) {
System.out.println("Congradulations! You guessed correctly! The number was" + randomNum);
} else {
System.out.println("Sorry, your guess was incorrect. The number I was thinking of was" + randomNum);
}
} else {
System.out.println("Goodbye.");
}
}
}
Dies ist mein erstes Mal hier veröffentlichen, so entschuldige ich mich, ob diese Frage an anderer Stelle beantwortet wurde.
Also schreiben Sie ein Programm, das eine andere Eingabe nach der ersten "1" erwartet und dann fragen Sie sich, warum es so ist? – Tom