2013-03-30 106 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」;打破; }