编写一个程序,提示用户输入两个整数,然后显示它们的和。用户输入错误时提示用户重新输入。java代码实现利用异常处理
时间: 2023-07-30 12:06:10 浏览: 74
以下是Java代码实现,利用异常处理来实现输入错误时提示用户重新输入:
```java
import java.util.InputMismatchException;
import java.util.Scanner;
public class AddTwoNumbers {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num1 = 0, num2 = 0;
boolean validInput = false;
// Prompt user to enter first number and validate the input
while (!validInput) {
try {
System.out.print("Enter the first number: ");
num1 = scanner.nextInt();
validInput = true;
} catch (InputMismatchException e) {
System.out.println("Invalid input. Please enter a valid integer.");
scanner.nextLine(); // consume the invalid input
}
}
validInput = false;
// Prompt user to enter second number and validate the input
while (!validInput) {
try {
System.out.print("Enter the second number: ");
num2 = scanner.nextInt();
validInput = true;
} catch (InputMismatchException e) {
System.out.println("Invalid input. Please enter a valid integer.");
scanner.nextLine(); // consume the invalid input
}
}
int sum = num1 + num2;
System.out.println("The sum of " + num1 + " and " + num2 + " is " + sum + ".");
}
}
```
在该程序中,我们首先创建一个 `Scanner` 对象来读取用户的输入。然后,我们声明两个整数变量 `num1` 和 `num2`,并将它们初始化为0。我们还声明一个 `validInput` 变量,它将用于指示用户是否提供了有效的输入。
接下来,我们使用 `while` 循环提示用户分别输入两个整数,并在每个循环中使用异常处理来确保用户提供的输入是有效的。如果用户输入一个非整数值,我们将捕获 `InputMismatchException` 异常,并向用户显示一个错误消息,然后使用 `scanner.nextLine()` 语句来消耗无效的输入并让用户重新输入。
如果用户提供了有效的输入,我们将其存储在 `num1` 或 `num2` 中,并将 `validInput` 设置为 `true`。最后,我们计算两个数字的和,并将其打印到屏幕上。
请注意,在每个 `while` 循环中,我们都将 `validInput` 设置为 `false`,以便在用户提供无效输入时继续提示用户重新输入。