Database System Concepts
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
Bartleby Related Questions Icon

Related questions

bartleby

Concept explainers

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.
expand button
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.
expand button
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
Check Mark
Still need help?
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
by Bartleby Expert
SEE SOLUTION
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
by Bartleby Expert
SEE SOLUTION
Knowledge Booster
Background pattern image
Computer Science
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
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education