在学校中,学生每个月需要交相应的生活费,老师每个月有相应的工资,而在职研究生既是老师又是学生,所以在职研究生既需要交学费又会有工资。下面要求编写一个程序来统计在职研究生的收入与学费,如果收入减去学费不足2000 元,则输出“provide a loan”(需要贷款)信息。 本案例要求使用接口实现该程序。
时间: 2024-04-04 18:35:51 浏览: 208
好的,我可以帮你实现这个程序。首先,我们需要定义一个接口来规范在职研究生的收入与学费的计算方法:
```java
public interface IncomeCalculator {
/**
* 计算在职研究生的收入
* @return 收入金额
*/
double calculateIncome();
/**
* 计算在职研究生的学费
* @return 学费金额
*/
double calculateTuition();
}
```
然后,我们可以定义一个在职研究生类,实现这个接口:
```java
public class WorkingGraduate implements IncomeCalculator {
private double salary; // 工资
private double livingExpense; // 生活费
private double tuition; // 学费
public WorkingGraduate(double salary, double livingExpense, double tuition) {
this.salary = salary;
this.livingExpense = livingExpense;
this.tuition = tuition;
}
public double calculateIncome() {
return salary + livingExpense;
}
public double calculateTuition() {
return tuition;
}
}
```
最后,我们可以编写一个测试类,来测试在职研究生的收入与学费,并判断是否需要贷款:
```java
public class Test {
public static void main(String[] args) {
IncomeCalculator ig = new WorkingGraduate(8000, 2000, 3000);
double income = ig.calculateIncome();
double tuition = ig.calculateTuition();
double diff = income - tuition;
if (diff < 2000) {
System.out.println("provide a loan");
} else {
System.out.println("no need to provide a loan");
}
}
}
```
当收入减去学费不足2000元时,程序会输出“provide a loan”信息,否则会输出“no need to provide a loan”信息。
阅读全文