2014-10-23 2 views
1

У меня очень быстрый вопрос. После переделки моего кода я почти отлично работаю. Мне просто нужно сбросить количество попыток после того, как пользователь запустит Y для повторного воспроизведения. какие-либо предложения? Вот мой кодHiLow игра в Java

import java.util.Random;  // Random number generator class 
 
import java.util.Scanner; // reads user inputs 
 

 
public class HiLo 
 
{ 
 
\t public static void main (String[] args) 
 
\t { 
 
\t \t Scanner Keyboard = new Scanner(System.in); 
 
\t \t Random gen=new Random(); //using system clock to seed 
 
\t \t //declare variables 
 
\t \t int max; 
 
\t \t int answer = 0; 
 
\t \t int guess = 0; 
 
\t \t int numberOfTries = 0 ; 
 
\t \t char again; 
 

 
\t \t do 
 

 
\t \t { 
 
\t \t \t System.out.print ("Enter the maximum number in the range: "); 
 
\t \t \t max = Keyboard.nextInt(); 
 

 
\t \t \t System.out.println("\nI am thinking of a number between 0 and "+max); 
 
    \t \t \t answer = gen.nextInt((max-0) + 1) - 0; 
 

 
    \t \t while (guess != answer) 
 

 

 
\t \t \t { 
 
    \t \t \t \t System.out.print("Enter a number: "); 
 
\t \t \t \t guess = Keyboard.nextInt(); 
 
    \t \t \t \t numberOfTries++; 
 

 
\t \t \t if(guess == -999) 
 
\t \t \t { 
 
\t \t \t \t System.out.print("The number is: "); 
 
\t \t \t \t System.out.print(answer); 
 
\t \t \t \t System.out.println(",Thank you for playing!!!"); 
 

 
    \t \t \t \t System.exit(0); 
 

 
\t \t  }else if (guess <= 0 || guess > max) 
 

 
\t \t \t { 
 
    \t \t \t \t System.out.println("You need to use a number that's between 0 & "+max); 
 
    \t \t \t \t numberOfTries--; 
 

 
\t \t \t }else if (guess < answer)//If guess is less than the answer 
 

 
\t \t \t { 
 
\t \t \t \t System.out.println ("Your guessed too low! \nTry again:"); 
 

 
\t \t \t }else if (guess > answer)//If guess is more than the answer 
 

 
\t \t \t { 
 
\t \t \t \t System.out.println ("Your guess is too high! \nTry again:"); 
 

 
\t \t \t } 
 
\t \t \t else; 
 
\t \t  } 
 
\t \t  //display result 
 

 

 
\t \t \t \t System.out.println ("YOU WIN!"); 
 
\t \t \t \t System.out.println("It took you " + numberOfTries + " tries!") ; 
 
\t \t \t \t System.out.println(); 
 
\t \t \t \t System.out.print("Do you want to play again(Y/N)?"); 
 
    \t \t \t \t Keyboard.nextLine(); 
 
    \t \t \t \t again=Keyboard.nextLine().charAt(0); 
 

 

 

 

 

 
\t \t }while (again == 'y'); 
 

 

 

 
\t } // end of class 
 

 
} //end of main

ответ

2

Почему не сбросить numberOfTries перед while (guess != answer)?

numberOfTries = 0; 
while (guess != answer) 
{... 
+0

Я только что исправил это, прежде чем читать это, спасибо за помощь, хотя! это было очень быстрое решение! – jugo

+0

Рад, что у вас это работает;) – MadProgrammer