(User Guessing Game) Scanner sc=new int num, guess, tries = 0; int max=100,min=1; num=(int) (Math.floor(Math.random()*(max-min+1)+min)); System.out.println("Guess My Number Game"); System.out.println("'-- --"); do { System.out.println("Enter a guess between 1 and 100: "); while(true){ try{ Scanner(System.in); guess-Integer.parseInt(sc.next()); if(guess>0 && guess<=100) break; else System.out.println("Please enter a number in the range 1-100"); } catch(NumberFormatException ex) System.out.println("Please enter a number"); { } tries++; if (guess > num){ System.out.println("Too high!"); } else if (guess < num){ System.out.println("Too low!"); } else System.out.println("\nCorrect! You got it in "+ tries+ "guesses!"); } while (guess != num); }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Use Java please

How can I implement a console selection menu that prompts a user to select between playing (7 guesses) or (User guesses)? My code for 7 guesses and User guesses is in the photos (I don't need help with those, just the console selection menu).

(User Guessing Game)

```java
Scanner sc = new Scanner(System.in);
int num, guess, tries = 0;
int max = 100, min = 1;
num = (int)(Math.floor(Math.random() * (max - min + 1) + min));
System.out.println("Guess My Number Game");
System.out.println("--------------------");
do {
    System.out.println("Enter a guess between 1 and 100 : ");
    while(true) {
        try {
            guess = Integer.parseInt(sc.next());
            if(guess > 0 && guess <= 100)
                break;
            else System.out.println("Please enter a number in the range 1-100");
        } catch(NumberFormatException ex) {
            System.out.println("Please enter a number");
        }
    }
    tries++;
    if (guess > num) {
        System.out.println("Too high!");
    } else if (guess < num) {
        System.out.println("Too low!");
    } else {
        System.out.println("\nCorrect! You got it in " + tries + " guesses!");
    }
} while (guess != num);
```

**Explanation:**

This Java code is a simple "Guess My Number" game. The program randomly selects a number between 1 and 100, and the user has to guess what it is. Here’s how it works:

1. **Initialization:**
   - A scanner object (`sc`) is created to read user input.
   - Variables for `num` (the number to guess), `guess` (the user’s guess), and `tries` (the count of attempts) are initialized.

2. **Random Number Generation:**
   - The target number (`num`) is generated randomly between 1 and 100 using `Math.random()`.

3. **Gameplay:**
   - The game runs inside a `do-while` loop, prompting the user to enter a guess.
   - A nested `while` loop ensures the user inputs a valid number in the range 1 to 100.
   - If the input is not a valid number, it prompts the user again.

4. **Guess Checking:**
   - Each guess increments the `tries` counter.
   - If the guess is too high or too low, the program provides feedback.
   - When the guess is correct, the program congratulates the user and displays the number of attempts made.

5. **Loop
Transcribed Image Text:(User Guessing Game) ```java Scanner sc = new Scanner(System.in); int num, guess, tries = 0; int max = 100, min = 1; num = (int)(Math.floor(Math.random() * (max - min + 1) + min)); System.out.println("Guess My Number Game"); System.out.println("--------------------"); do { System.out.println("Enter a guess between 1 and 100 : "); while(true) { try { guess = Integer.parseInt(sc.next()); if(guess > 0 && guess <= 100) break; else System.out.println("Please enter a number in the range 1-100"); } catch(NumberFormatException ex) { System.out.println("Please enter a number"); } } tries++; if (guess > num) { System.out.println("Too high!"); } else if (guess < num) { System.out.println("Too low!"); } else { System.out.println("\nCorrect! You got it in " + tries + " guesses!"); } } while (guess != num); ``` **Explanation:** This Java code is a simple "Guess My Number" game. The program randomly selects a number between 1 and 100, and the user has to guess what it is. Here’s how it works: 1. **Initialization:** - A scanner object (`sc`) is created to read user input. - Variables for `num` (the number to guess), `guess` (the user’s guess), and `tries` (the count of attempts) are initialized. 2. **Random Number Generation:** - The target number (`num`) is generated randomly between 1 and 100 using `Math.random()`. 3. **Gameplay:** - The game runs inside a `do-while` loop, prompting the user to enter a guess. - A nested `while` loop ensures the user inputs a valid number in the range 1 to 100. - If the input is not a valid number, it prompts the user again. 4. **Guess Checking:** - Each guess increments the `tries` counter. - If the guess is too high or too low, the program provides feedback. - When the guess is correct, the program congratulates the user and displays the number of attempts made. 5. **Loop
Sure! Below is the transcribed text formatted for an educational website. 

---

### Guess My Number Game - Java Program

This Java program demonstrates a simple "Guess My Number" game using a binary search approach. The aim is for the computer to guess a number chosen by the user. Follow the description and code comments to understand how the program works.

```java
(7 Guesses)
Scanner sc = new Scanner(System.in);
int num, guess, tries = 0;
int max = 100, min = 1;

System.out.println("Enter a number between 1 and 100 you want the computer to guess:");
while(true){
    try {
        num = Integer.parseInt(sc.next());
        if(num > 0 && num <= 100)
            break;
        else System.out.println("Please enter a number in the range 1-100");
    } catch (NumberFormatException ex) {
        System.out.println("Please enter a number");
    }
}

System.out.println("Guess My Number Game");
System.out.println("--------------------------");

do {
    guess = (min + max) / 2;
    System.out.println("Computer guessed " + guess);
    tries++;

    if (guess > num) {
        System.out.println("Too high!");
        max = guess;
    } else if (guess < num) {
        System.out.println("Too low!");
        min = guess + 1;
    } else {
        System.out.println("\nCorrect! You got it in " + tries + " guesses!");
    }
} while (guess != num);
```

### Explanation

- **User Input:** The user is prompted to enter a number between 1 and 100.
- **Input Validation:** The program checks whether the input is within the specified range (1-100). If not, it prompts the user again.
- **Binary Search Approach:** 
  - The program uses a binary search technique to guess the user’s number:
    - It starts by guessing the midpoint of the current range.
    - If the guess is too high, it adjusts the maximum boundary.
    - If too low, it adjusts the minimum boundary.
  - This continues until the computer guesses the correct number.
  
- **Tries Count:** The program keeps track of the number of guesses the computer makes until it arrives at the correct number.

### Educational Value

This program teaches:

- Basic input and output in Java.
- Exception handling for user input
Transcribed Image Text:Sure! Below is the transcribed text formatted for an educational website. --- ### Guess My Number Game - Java Program This Java program demonstrates a simple "Guess My Number" game using a binary search approach. The aim is for the computer to guess a number chosen by the user. Follow the description and code comments to understand how the program works. ```java (7 Guesses) Scanner sc = new Scanner(System.in); int num, guess, tries = 0; int max = 100, min = 1; System.out.println("Enter a number between 1 and 100 you want the computer to guess:"); while(true){ try { num = Integer.parseInt(sc.next()); if(num > 0 && num <= 100) break; else System.out.println("Please enter a number in the range 1-100"); } catch (NumberFormatException ex) { System.out.println("Please enter a number"); } } System.out.println("Guess My Number Game"); System.out.println("--------------------------"); do { guess = (min + max) / 2; System.out.println("Computer guessed " + guess); tries++; if (guess > num) { System.out.println("Too high!"); max = guess; } else if (guess < num) { System.out.println("Too low!"); min = guess + 1; } else { System.out.println("\nCorrect! You got it in " + tries + " guesses!"); } } while (guess != num); ``` ### Explanation - **User Input:** The user is prompted to enter a number between 1 and 100. - **Input Validation:** The program checks whether the input is within the specified range (1-100). If not, it prompts the user again. - **Binary Search Approach:** - The program uses a binary search technique to guess the user’s number: - It starts by guessing the midpoint of the current range. - If the guess is too high, it adjusts the maximum boundary. - If too low, it adjusts the minimum boundary. - This continues until the computer guesses the correct number. - **Tries Count:** The program keeps track of the number of guesses the computer makes until it arrives at the correct number. ### Educational Value This program teaches: - Basic input and output in Java. - Exception handling for user input
Expert Solution
steps

Step by step

Solved in 4 steps with 2 images

Blurred answer
Knowledge Booster
Basics of loop
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education