目录
题目
在学校中,学生每个月需要交相应的生活费,老师每个月有相应的工资,而在职研究生既是老师又是学生,所以在职研究生既需要交学费又会有工资。下面要求编写一个程序来统计在职研究生的收入与学费,如果收入减去学费不足2000 元,则输出“provide a loan”(需要贷款)信息。
分析
(1)定义两个接口,在StudentManageInterface接口中声明两个方法:getFree()和setFree(),用于设置和获取学生的学费;在TeacherManageInterface类中声明两个方法:gePay()和setPaye(),用于设置和获取教师的工资。
(2)定义主类 Graduate,分别实现StudentManageInterface和TeacherManageInterface接口。
(3)定义Graduate类的成员变量,和构造方法。
(4)给出四个接口方法的实现。
(5)给出一个计算是否需要贷款的方法,在里面统计年收入和学费,并输出是否需要贷款的信息。
(6)在main() 方法中创建一个姓名为“zhangsan”的研究生,调用计算是否需要贷款的方法。
代码
1.StudentManageInterface.java
package manage;
public interface StudentManageInterface {
abstract void setFree(double free);
abstract double getFree();
}
2.TeacherManageInterface.java
package manage;
public interface TeacherManageInterface {
abstract void setPay(double pay);
abstract double getPay();
}
3.Graduate.java
package manage;
public class Graduate implements StudentManageInterface, TeacherManageInterface {
private String name,sex;
private int age;
private double free,pay;
public Graduate(String name, String sex, int age, double free, double pay) {
super();
this.name = name;
this.sex = sex;
this.age = age;
this.free = free;
this.pay = pay;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getFree() {
return free;
}
public void setFree(double free) {
this.free = free;
}
public double getPay() {
return pay;
}
public void setPay(double pay) {
this.pay = pay;
}
}
4.ManageTest.java
package manage;
public abstract class ManageTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Graduate graduate = new Graduate("zhangsan","男",20,2000,4500);
Loan(graduate);
}
static void Loan(Graduate graduate){
if (graduate.getPay() - graduate.getFree() < 2000){
System.out.println("provide a loan");
}else{
System.out.println("don't need a loan");
}
}
}