定义一个"年龄异常类":AgeException,使其继承自Exception,并添加无参、String参数的构造方法; 定义一个"性别异常类":SexException,使其继承自Exception,并添加无参、String参数的构造方法; 定义一个Student类,属性:姓名、性别、年龄。 在性别的set方法中判断是否是男/女,如果不是则抛出:性别异常 在年龄的set方法中判断年龄是否是15–50之间,如果不是则抛出:年龄异常 编写测试类,创建一个Student对象,并在try{}中调用setXxx()方法为对象属性赋值,在catch()中打印年龄错误。
时间: 2024-03-02 15:52:16 浏览: 52
好的,以下是代码实现:
AgeException.java
```java
public class AgeException extends Exception {
public AgeException() {
super();
}
public AgeException(String message) {
super(message);
}
}
```
SexException.java
```java
public class SexException extends Exception {
public SexException() {
super();
}
public SexException(String message) {
super(message);
}
}
```
Student.java
```java
public class Student {
private String name;
private String sex;
private int age;
public void setName(String name) {
this.name = name;
}
public void setSex(String sex) throws SexException {
if (!"男".equals(sex) && !"女".equals(sex)) {
throw new SexException("性别异常");
}
this.sex = sex;
}
public void setAge(int age) throws AgeException {
if (age < 15 || age > 50) {
throw new AgeException("年龄异常");
}
this.age = age;
}
}
```
Test.java
```java
public class Test {
public static void main(String[] args) {
Student student = new Student();
try {
student.setAge(10);
} catch (AgeException e) {
System.out.println(e.getMessage());
}
}
}
```
当年龄不在15-50之间时,会抛出年龄异常并打印错误信息。
阅读全文