用Java语言编写一个信息录入程序,获取用户输入的姓名和年龄。如果用户输入的年龄不是正确的年龄数字(如0.5),则抛出异常并让用户重新输入;如果年龄正确,则打印用户输入的信息。
时间: 2024-02-13 07:00:10 浏览: 67
可以使用Java中的Scanner来获取用户输入的姓名和年龄,以下是代码实现:
```java
import java.util.InputMismatchException;
import java.util.Scanner;
public class UserInfo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name;
double age;
while (true) {
try {
System.out.print("请输入您的姓名:");
name = scanner.nextLine();
System.out.print("请输入您的年龄:");
age = scanner.nextDouble();
if (age <= 0) {
throw new InputMismatchException("年龄不能小于等于0!");
} else if (age != (int) age) {
throw new InputMismatchException("年龄必须是整数!");
}
break;
} catch (InputMismatchException e) {
System.out.println("输入有误,请重新输入!");
scanner.nextLine(); // 清空输入缓冲区
}
}
System.out.println("您的姓名是:" + name);
System.out.println("您的年龄是:" + (int) age);
}
}
```
代码解释:
- 首先创建一个Scanner对象,用于获取用户输入。
- 定义name和age变量,用于存储用户输入的姓名和年龄。
- 使用while循环不断获取用户输入,直到输入的年龄是正确的整数。
- 在try语句块中,先获取用户输入的姓名和年龄,然后判断年龄是否是正确的整数。如果年龄小于等于0或者不是整数,就抛出InputMismatchException异常,提示用户重新输入。
- 在catch语句块中,捕获异常并输出提示信息,然后使用scanner.nextLine()清空输入缓冲区,再次循环获取用户输入。
- 如果用户输入的姓名和年龄都是正确的,就跳出循环,输出用户输入的信息。注意,这里将年龄强制转换为整数,因为用户输入的年龄必须是整数。
阅读全文