
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
expand_more
expand_more
format_list_bulleted
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.](https://content.bartleby.com/qna-images/question/0cc153ae-b205-4fb2-9991-7cf6a21d5016/12bde780-81d8-4fd0-9f13-4b5a965cf0ac/szlifjc_thumbnail.png)
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.

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

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution
Trending nowThis is a popular solution!
Step by stepSolved in 4 steps with 4 images

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
by Bartleby Expert
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
by Bartleby Expert
Knowledge Booster
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
- 4. Identify the benefits of using both Accessor and Mutator in Java. PS: Please answer it correctly and less confusing.arrow_forwardimport java.util.Scanner ; //This program enables the user enters 10 int between -100 and 100 //then a menu is presented to the user to choose an operation to be //performed on the entered numbers. //operations: add all numbers and display their total //display the average of the numbers //find and display all negative numbers //find and display odd numbers //display all numbers in reverse order //display all 5 multiples public class OPonArrays { public static void main (String [] main) { int SIZE = 10; int [] nums= new int [SIZE]; Scanner KB = new Scanner(System.in); // populate the array for(int i = 0; i < 10; i++) { System.out.println("please enter a number between -100 and 100"); nums[i] = KB.nextInt(); } //display all elments for(int i = 0; i < 10; i++) { System .out.println(nums[i]); } fix the errorarrow_forwardMath 130 Java Programming Does my code pass the requirements? May I have more explanation? Does my code compile correctly? Is my code readable? Is my code well commented? How may I better organize my code? Are there whitespaces to appropriate help separate distinct parts? My code: import java.util.Scanner; public class TicketSale { public static void main(String[] args) { Scanner keyboard = new Scanner(System.in); //Prompt user to input the number of Adult tickets to purchase System.out.print("Please enter number of adults:"); //Prompt user to input the number of Adult tickets to purchase int adults = keyboard.nextInt(); //Prompt user to input the number of Children tickets to purchase System.out.print("Please enter number of children:"); //Prompt user to input the number of Children tickets to purchase int children = keyboard.nextInt(); //Calculate and display the total cost for adults and children System.out.print("Your total cost for " + adults +…arrow_forward
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education

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)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON

Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education