2013-03-30 107 views
-1

我做了这个猜谜游戏,但我发现了一个错误,我不知道如何解决它。也许你们可以帮忙?我需要帮助调试java猜谜游戏应用程序

问题是,我只会输入9个错误的数字,但它会告诉我我猜了10次。我没有。

如果您发现任何其他错误,你能告诉我如何解决这些问题吗? 如果你能告诉我任何提示/技巧,我可以在下次使用时会很棒。

import java.util.Scanner; 

public class main { 

/** 
* @param args 
*/ 
public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    int number_to_guess = 3; 
    int guess; 
    //int number_of_guesses = 0; 
    Scanner input = new Scanner(System.in); 

    System.out.println("Hello, please enter a number between 1 and 10. You only have 10 guesses, so be be smart!!"); 




    for(int number_of_guesses = 1; number_of_guesses<=10;){ 
     guess = input.nextInt(); 
     if (guess >=1 && guess <=10){//is it between 1 and 10 

      if(guess == number_to_guess){//is it the right number 
       number_of_guesses++;//increase guess number 
       System.out.println("Congradulations!!! You guessed the number in " + number_of_guesses + " tries"); 
       break;//exit the loop 
      } 

      else{//if its not the right number, then try again 
       System.out.println("I'm sorry. Thats not it. Please try again."); 
       number_of_guesses++; 
       if (number_of_guesses == 10){ 
        System.out.println("I'm sorry, but it appears you have guessed 10 times and didn't get the right number. The number was " + number_to_guess); 

        break; 
       } 
      } 
     } 

     else{//invalid number entry 

      System.out.println("I'm sorry, but your number that you have enter is invalid. Please make sure it is between 1 and 10"); 
      number_of_guesses--;//the count will go up, even though the guessed an invalid number, so set it back to what it was before 
     } 
    } 



} 

}

+0

更改:'number_of_guesses <= 10'到'number_of_guesses <= 11' – mcalex

+1

您使用单词“debug”。那么为什么不使用调试器? –

回答

1

您NEEF移动这一点的范围,因为10是仍然有效

如果(number_of_guesses == 10){的System.out.println(“对不起,但看起来你已经猜到了10次,没有得到正确的数字,数字是“+ number_to_guess”;打破; }