2016-03-04 193 views
1

我正在做一个java程序,需要我让用户猜测只有10次尝试的数字,并使用while循环。这是我现在所有的,任何人都可以帮助我在何处放置while循环以及我错过了什么?谢谢。Java while循环游戏

import java.util.Scanner; 
    import java.util.Random; 

    public class GuessGame { 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     // TODO code application logic here 



     Random generator = new Random(); 

     Scanner input = new Scanner(System.in); 

     int numberToGuess = 1 + generator.nextInt(100); 
     int numberOfTries = 0; 
     int limit= 10; 
     int guess; 



     System.out.println ("You have 10 tries to guess a number between 1 and 100"); 

     System.out.print("Guess number 1: "); 
     guess= input.nextInt(); 
     numberOfTries++; 


     if (guess < numberToGuess) 
       System.out.println("Your guess is too low. Try again."); 

     else if (guess > 100) 
       System.out.println("Guesses should be between 1 and 100."); 

     else if (guess > numberToGuess) 
      System.out.println("Too high. Try again."); 

     else if (guess == numberToGuess) 
      System.out.println("Congratulations!"); 


     System.out.print("Guess number 2: "); 
     guess= input.nextInt(); 
     numberOfTries++; 


     System.out.print("Guess number 3: "); 
     guess= input.nextInt(); 
     numberOfTries++; 

     System.out.print("Guess number 4: "); 
     guess= input.nextInt(); 
     numberOfTries++; 

     System.out.print("Guess number 5: "); 
     guess= input.nextInt(); 
     numberOfTries++; 

     System.out.print("Guess number 6: "); 
     guess= input.nextInt(); 
     numberOfTries++; 

     System.out.print("Guess number 7: "); 
     guess= input.nextInt(); 
     numberOfTries++; 

     System.out.print("Guess number 8: "); 
     guess= input.nextInt(); 
     numberOfTries++; 

     System.out.print("Guess number 9: "); 
     guess= input.nextInt(); 
     numberOfTries++; 

     System.out.print("Guess number 10: "); 
     guess= input.nextInt(); 
     numberOfTries++;    

     } 
} 

回答

2

尝试这样:

Random generator = new Random(); 
Scanner input = new Scanner(System.in); 

int numberToGuess = 1 + generator.nextInt(100); 
int numberOfTries = 0; 
int limit= 10; 
int guess; 
System.out.println ("You have 10 tries to guess a number between 1 and 100"); 

while(numberOfTries < 10){ 
    System.out.print("Guess number " + numberOfTries + ": "); 
    guess= input.nextInt(); 
    if (guess < numberToGuess) 
     System.out.println("Your guess is too low. Try again."); 

    else if (guess > 100) 
     System.out.println("Guesses should be between 1 and 100."); 
    else if (guess > numberToGuess) 
     System.out.println("Too high. Try again."); 
    else if (guess == numberToGuess){ 
     System.out.println("Congratulations!"); 
     break; 
     } 
    numberOfTries++; 
} 
2

用户猜测,只有10次尝试

while(numberOfTries<10){ 
    System.out.print("Guess number " + (numberOfTries+1) + ": "); 
    guess= input.nextInt(); 
    if (guess < numberToGuess) 
      System.out.println("Your guess is too low. Try again."); 
    else if (guess > 100) 
      System.out.println("Guesses should be between 1 and 100."); 
    else if (guess > numberToGuess) 
     System.out.println("Too high. Try again."); 
    else if (guess == numberToGuess){ 
     System.out.println("Congratulations!"); 
     break; 
    } 

    numberOfTries++; 
    } 
// If after executing the while loop the numberOfTries is equal to 10, that means the user had made all attempt. 
if(numberOfTries == 10){ 
    System.out.println("Sorry, you did not guess the guess the answer in 10 tries"); 
    System.out.println("The number was" +numberToGuess); 
} 

这取代了数所有的陈述后

System.out.println ("You have 10 tries to guess a number between 1 and 100"); 
+0

谢谢你,伟大的工作。在猜测数字后,如何结束循环? – worgenfreeman

+0

放了一个'break;'..更新了 – nullpointer

+0

谢谢大家!我还有一个问题,在用户全部10次尝试错误之后,我必须出现一条丢失消息。如何在10次尝试后出现它? while(numberOfTries == 10){System.out.println(“对不起,你猜猜10次尝试中的答案”); System.out.println(“数字是”+ numberToGuess);打破 – worgenfreeman

0

而不是采取10个号码作为单独的语句,做一些事情像这样:

int guess = 0; 
guess = input.nextInt(); 
while(guess != numberToGuess || numberOfTrys > 10){ 
    System.out.println("Enter a new guess :: "); 
    guess = input.nextInt(); 
    numberOfTrys ++; 
} 

我们的条件检查我们的猜测是正确的还是已经超过了十次。如果这两个条件中的任何一个为真,它将退出while循环,您可以进一步处理程序逻辑。

+0

适当的逻辑,但一些语句作为OP使用的打印语句丢失 – nullpointer