2013-03-30 3 views
-1

이 추측 게임을 만들었지 만 버그가 발견되어이를 수정하는 방법을 알지 못합니다. 어쩌면 너희들도 도울 수 있을까?자바 추측 게임 앱 디버깅에 도움이 필요합니다.

문제는 내가 9 개의 잘못된 번호 만 입력한다는 것입니다. 그런 다음 10 개의 숫자를 추측합니다. 나는 그렇지 않았다.

다른 버그를 발견하면 해결 방법을 알려주시겠습니까? 그리고 다음에 사용할 수있는 팁/기법을 알려 주시면 좋을 것 같습니다. (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' to'number_of_guesses <= 11' – mcalex

+1

당신은 "디버그"라는 단어를 사용합니다. 그렇다면 왜 디버거를 사용하지 않습니까? –

답변

1

당신의 NEEF이 범위를 벗어나이 이동

경우 (number_of_guesses == 10) {에서 System.out.println ("미안 해요, 그러나 당신은 10 번 추측하고 올바른 번호를 얻지 못했던 것으로 보입니다. 숫자는 "+ number_to_guess"였습니다. 단절; }

관련 문제