java从键盘输入用户的姓名和年龄信息,其中年龄不能是负数。如果输入年龄为负数抛出“IllegalAgeException”异常,显示“年龄不能负数”。试用异常处理机制完成程序设计。
时间: 2024-03-02 09:53:30 浏览: 56
好的,我来为您解答这个问题。
您可以参考以下的 Java 代码实现:
```java
import java.util.Scanner;
class IllegalAgeException extends Exception {
public IllegalAgeException() {
super("年龄不能为负数");
}
}
public class UserInfo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入您的姓名:");
String name = scanner.nextLine();
int age;
while (true) {
try {
System.out.print("请输入您的年龄:");
age = Integer.parseInt(scanner.nextLine());
if (age < 0) {
throw new IllegalAgeException();
}
break;
} catch (NumberFormatException e) {
System.out.println("输入格式有误,请重新输入");
} catch (IllegalAgeException e) {
System.out.println(e.getMessage());
}
}
System.out.println("您的姓名是:" + name);
System.out.println("您的年龄是:" + age);
}
}
```
在这个程序中,我们定义了一个 `IllegalAgeException` 异常类,用于表示年龄为负数的情况。在输入年龄时,我们通过 `try-catch` 块捕获用户可能输入的非数字字符或者负数,然后分别输出相应的错误信息。如果用户输入的年龄是合法的,则跳出循环,输出用户的姓名和年龄信息。
希望能够帮助到您!
阅读全文