学校中有教师和学生两类人,而在职博士生既是教师又是学生。设计两个接口StuInterface和TeaInterface。其中,StuInterface接口包括对学费的set()和get()方法,分别用于设置和获取学生的学费;TeaInterface接口包括对工资的set()和get()方法,分别用于设置和获取教师的工资。 定义一个博士生类Doctor,实现StuInterface接口和TeaInterface接口,它的成员变量有name(姓名)、sex(性别)、age(年龄)、fee(每学期学费)、pay(月工资),如果收入减去学费不足3000元,则输出“provide a loan”(需要贷款)信息。编写测试类,测试所创建的Doctor类。
时间: 2024-04-04 22:36:01 浏览: 215
好的,下面是一个符合要求的Java程序:
```
interface StuInterface {
void setFee(double fee);
double getFee();
}
interface TeaInterface {
void setPay(double pay);
double getPay();
}
class Doctor implements StuInterface, TeaInterface {
private String name;
private String sex;
private int age;
private double fee;
private double pay;
public Doctor(String name, String sex, int age, double fee, double pay) {
this.name = name;
this.sex = sex;
this.age = age;
this.fee = fee;
this.pay = pay;
}
public void setFee(double fee) {
this.fee = fee;
}
public double getFee() {
return fee;
}
public void setPay(double pay) {
this.pay = pay;
}
public double getPay() {
return pay;
}
public void checkIncome() {
double income = pay - fee * 2;
if (income < 3000) {
System.out.println("需要贷款");
}
}
}
public class Main {
public static void main(String args[]) {
Doctor doctor = new Doctor("张三", "男", 30, 20000, 10000);
doctor.checkIncome();
}
}
```
输出结果为:
```
需要贷款
```
在这个程序中,我们首先定义了两个接口`StuInterface`和`TeaInterface`,分别包含了对学费和工资的设置和获取方法。
然后,我们创建了一个`Doctor`类,它实现了`StuInterface`接口和`TeaInterface`接口,并定义了一个`checkIncome()`方法来判断收入是否需要贷款。在`checkIncome()`方法中,我们通过工资减去学费的两倍来计算博士生的收入,如果收入不足3000元,则输出“需要贷款”的信息。
在`Main`类中,我们创建了一个`Doctor`对象,并调用了它的`checkIncome()`方法来检查收入是否需要贷款。
阅读全文