2016-09-24 2 views
-3

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.

+0

Also schreiben Sie ein Programm, das eine andere Eingabe nach der ersten "1" erwartet und dann fragen Sie sich, warum es so ist? – Tom

Antwort

0

Weil wenn ans1 = 1, dann erwartet es eine andere Eingabe vom Benutzer und prüft, ob die Schätzung und eine andere Eingabe gleich sind.

Dies ist zweiter Eingang, dass es für

 int guess = game.nextInt(); 

Eingang eine beliebige Anzahl, wartet erzeugt, wenn die Zufallszahl gleich der Anzahl ist Sie zweites Mal hinzugefügt, es zurück „Congradulations! Sie ahnen richtig! Die Zahl war“else‚Sorry, Ihre Vermutung falsch war die Zahl ich dachte, war‘mit der Nummer

0

statt.

int guess = game.nextInt(); 
System.out.println("Great! I am thinking of an integer between 1  and 3. Guess what it is?"); 

sollten Sie haben sie r gequält.

System.out.println("Great! I am thinking of an integer between 1  and 3. Guess what it is?"); 
int guess = game.nextInt(); 
Verwandte Themen