The task is to write a Java program in which a user will get K trials to guess a randomly generated number. Below are the rules of the game:
- If the guessed number is bigger than the actual number, the program will respond with the message that the guessed number is higher than the actual number.
- If the guessed number is smaller than the actual number, the program will respond with the message that the guessed number is lower than the actual number.
- If the guessed number is equal to the actual number or if the K trials are exhausted, the program will end with a suitable message.
Approach: Below are the steps:Â Â
- The approach is to generate a random number using Math.random() method in Java.
- Now using a loop, take K input from the user and for each input print whether the number is smaller or larger than the actual number.
- If within K trials the user guessed the number correctly, print that the user won.
- Else print that he was not able to guess and then print the actual number.
Below is the implementation of the above approach:Â
Java
// Java program for the above approach import java.util.Scanner; Â
public class GFG { Â
    // Function that implements the     // number guessing game     public static void     guessingNumberGame()     {         // Scanner Class         Scanner sc = new Scanner(System.in); Â
        // Generate the numbers         int number = 1 + ( int )( 100                                * Math.random()); Â
        // Given K trials         int K = 5 ; Â
        int i, guess; Â
        System.out.println(             "A number is chosen"             + " between 1 to 100."             + "Guess the number"             + " within 5 trials." ); Â
        // Iterate over K Trials         for (i = 0 ; i < K; i++) { Â
            System.out.println(                 "Guess the number:" ); Â
            // Take input for guessing             guess = sc.nextInt(); Â
            // If the number is guessed             if (number == guess) {                 System.out.println(                     "Congratulations!"                     + " You guessed the number." );                 break ;             }             else if (number > guess                      && i != K - 1 ) {                 System.out.println(                     "The number is "                     + "greater than " + guess);             }             else if (number < guess                      && i != K - 1 ) {                 System.out.println(                     "The number is"                     + " less than " + guess);             }         } Â
        if (i == K) {             System.out.println(                 "You have exhausted"                 + " K trials." ); Â
            System.out.println(                 "The number was " + number);         }     } Â
    // Driver Code     public static void     main(String arg[])     { Â
        // Function Call         guessingNumberGame();     } } |
Output:Â
Below is the output of the above program:Â
Â
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!