The while loop makes multiple attempts to read a nonnegative integer from input into userAge. Use multiple exception handlers to: Catch an InputMismatchException, output "Unexpected input: The UserAge program quits", and assign retry with false. • Catch an Exception and output the message of the Exception. End each output with a newline. Ex: If the input is 44, then the output is: Valid input: User's age is 44 Ex: If the input is L, then the output is: Unexpected input: The UserAge program quits Ex: If the input is -65 44, then the output is: User's age must be nonnegative Valid input: User's age is 44 1 import java.util.Scanner; 2 import java.util.InputMismatchException; L234567800 4 public class UserAge { 9 10 AWNHO 11 12 13 14 15 16 17 public static void main(String[] args) { Scanner scnr = new Scanner(System.in); int userAge; boolean retry = true; while (retry) { try { userAge = scnr.nextInt (); if (userAge< 0) { throw new Exception ("User's age must be nonnegative"); }

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

New java code can only be added after line 21. 

 

## Handling User Input with Exception Handling in Java

The while loop makes multiple attempts to read a nonnegative integer from input into `userAge`. Use multiple exception handlers to:

- Catch an `InputMismatchException`, output "Unexpected input: The UserAge program quits", and assign `retry` with false.
- Catch an `Exception` and output the message of the Exception.

End each output with a newline.

### Example Outputs
- **If the input is 44**, then the output is:

  ```
  Valid input: User's age is 44
  ```

- **If the input is 'L'**, then the output is:

  ```
  Unexpected input: The UserAge program quits
  ```

- **If the input is -65 44**, then the output is:

  ```
  User's age must be nonnegative
  Valid input: User's age is 44
  ```

### Java Code Implementation

```java
import java.util.Scanner;
import java.util.InputMismatchException;

public class UserAge {
    public static void main(String[] args) {
        Scanner scnr = new Scanner(System.in);
        int userAge;
        boolean retry = true;

        while (retry) {
            try {
                userAge = scnr.nextInt();

                if (userAge < 0) {
                    throw new Exception("User's age must be nonnegative");
                }
            } catch (InputMismatchException e) {
                System.out.println("Unexpected input: The UserAge program quits");
                retry = false;
            } catch (Exception e) {
                System.out.println(e.getMessage());
                userAge = scnr.nextInt();
                System.out.println("Valid input: User's age is " + userAge);
                retry = userAge >= 0;
            }
        }
    }
}
```

This program guides the user to input a valid nonnegative age. It uses exception handling to manage different types of input errors, ensuring robust input processing.
Transcribed Image Text:## Handling User Input with Exception Handling in Java The while loop makes multiple attempts to read a nonnegative integer from input into `userAge`. Use multiple exception handlers to: - Catch an `InputMismatchException`, output "Unexpected input: The UserAge program quits", and assign `retry` with false. - Catch an `Exception` and output the message of the Exception. End each output with a newline. ### Example Outputs - **If the input is 44**, then the output is: ``` Valid input: User's age is 44 ``` - **If the input is 'L'**, then the output is: ``` Unexpected input: The UserAge program quits ``` - **If the input is -65 44**, then the output is: ``` User's age must be nonnegative Valid input: User's age is 44 ``` ### Java Code Implementation ```java import java.util.Scanner; import java.util.InputMismatchException; public class UserAge { public static void main(String[] args) { Scanner scnr = new Scanner(System.in); int userAge; boolean retry = true; while (retry) { try { userAge = scnr.nextInt(); if (userAge < 0) { throw new Exception("User's age must be nonnegative"); } } catch (InputMismatchException e) { System.out.println("Unexpected input: The UserAge program quits"); retry = false; } catch (Exception e) { System.out.println(e.getMessage()); userAge = scnr.nextInt(); System.out.println("Valid input: User's age is " + userAge); retry = userAge >= 0; } } } } ``` This program guides the user to input a valid nonnegative age. It uses exception handling to manage different types of input errors, ensuring robust input processing.
The image contains a snippet of Java code designed to obtain and validate a user's age input. Below is a detailed transcription of the code:

```java
while (retry) {
    try {
        userAge = scnr.nextInt();
        
        if (userAge < 0) {
            throw new Exception("User's age must be nonnegative");
        }

        retry = false;
        System.out.print("Valid input: ");
        System.out.println("User's age is " + userAge);
    }
}
```

### Code Explanation:

- **Lines 9-24**: This is a loop that continues to execute as long as `retry` is true.
  
- **Line 11**: The code attempts to read an integer input for `userAge` using `scnr.nextInt()` within a `try` block to handle potential input errors.
  
- **Line 13-15**: An `if` statement checks if the `userAge` is negative. If it is, the code throws an exception with the message, "User's age must be nonnegative," preventing the program from proceeding with negative input.
  
- **Line 18**: If the input is valid (nonnegative), `retry` is set to false, terminating the loop.
  
- **Line 19-20**: The code prints "Valid input: ", followed by the user's age, indicating successful validation and capturing of user's age.

This example demonstrates basic exception handling in Java, ensuring that the user inputs a nonnegative age.
Transcribed Image Text:The image contains a snippet of Java code designed to obtain and validate a user's age input. Below is a detailed transcription of the code: ```java while (retry) { try { userAge = scnr.nextInt(); if (userAge < 0) { throw new Exception("User's age must be nonnegative"); } retry = false; System.out.print("Valid input: "); System.out.println("User's age is " + userAge); } } ``` ### Code Explanation: - **Lines 9-24**: This is a loop that continues to execute as long as `retry` is true. - **Line 11**: The code attempts to read an integer input for `userAge` using `scnr.nextInt()` within a `try` block to handle potential input errors. - **Line 13-15**: An `if` statement checks if the `userAge` is negative. If it is, the code throws an exception with the message, "User's age must be nonnegative," preventing the program from proceeding with negative input. - **Line 18**: If the input is valid (nonnegative), `retry` is set to false, terminating the loop. - **Line 19-20**: The code prints "Valid input: ", followed by the user's age, indicating successful validation and capturing of user's age. This example demonstrates basic exception handling in Java, ensuring that the user inputs a nonnegative age.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 4 images

Blurred answer
Follow-up Questions
Read through expert solutions to related follow-up questions below.
Follow-up Question

input:     -65 44

Input:    -37 -39 H -25 -5 -54

 

both fail to run

Solution
Bartleby Expert
SEE SOLUTION
Knowledge Booster
Exception Handling Keywords
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