在setAge(int age)中对年龄进行判断,如果年龄介于1到100直接赋值,否则抛出异常 在测试类中创建对象并调用setAge(int age)方法使用try-catch捕获并处理异常
时间: 2024-09-28 16:12:47 浏览: 21
在Java中,如果你想在`setAge`方法中对输入的年龄进行有效性检查,你可以这样做:
首先,在`Person`类的`setAge`方法中添加如下代码:
```java
public class Person {
private int age;
public void setAge(int age) throws IllegalArgumentException {
if (age < 1 || age > 100) {
throw new IllegalArgumentException("Age must be between 1 and 100.");
} else {
this.age = age;
}
}
// 其他方法...
}
```
这里,我们使用了`throws`关键字声明`setAge`方法可能抛出`IllegalArgumentException`。如果年龄不在指定范围内,就会通过`throw new IllegalArgumentException(...)`语句抛出异常。
接着,在测试类(如`TestPerson`)中,你可以创建`Person`对象并调用`setAge`方法,同时用`try-catch`来捕获并处理可能出现的异常:
```java
public class TestPerson {
public static void main(String[] args) {
try {
Person person = new Person();
person.setAge(25); // 正确设置年龄
person.setAge(150); // 违反年龄限制,会抛出异常
} catch (IllegalArgumentException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
```
在这个测试场景中,如果年龄小于1或大于100,`setAge(150)`将会触发异常,然后`catch`块会捕获这个异常并打印出错误信息。