学校中有教师和学生两类人,而在职研究生既是教师又是学生。
1)设计两个接口studentinterface和teacherinterface。
2)studentinterface接口包含setFee()getFee()方法,分别用于设置和获取学生的学费.
3)teacherinterface接口包含setPay()和getPay()方法,分别用于设置和获取教师的工资.
4)定义一个研究生类graduate,实现studentinterface接口和teacherinterface接口,它的成员变量有name,sex,age,fee,pay.
5)创建一个姓名为“zhangsan”的研究生,统计他的年收入和学费,如果收入减去学费不足2000元,则输出“provide a loan”(需要贷款)信息。
6)要求:在graduate中实现各个接口定义的抽象方法
/**
* 教师接口
* @author Administrator
*
*/
public interface TeacherInterface {
// 设置教师的工资
public abstract void setPay(double pay);
// 获取教师的工资
public abstract void getPay(double pay);
}
/**
* 学生接口
* @author Administrator
*
*/
public interface StudentInterface {
// 设置学生的学费
public abstract void setFee(double fee);
// 获取学生的学费
public abstract void getFee(double fee);
}
import java.util.Scanner;
/**
* 研究生类
* @author Administrator
*
*/
public class Graduate implements StudentInterface,TeacherInterface{
// 成员变量
String name;
String sex;
int age;
double fee;
double pay;
// 实现接口中的抽象方法
@Override
public void setPay(double pay) {
this.pay = pay * 12;
System.out.println("你的年收入为:" + this.pay);
}
// 实现接口中的抽象方法
@Override
public void getPay(double pay) {
this.pay = pay * 12;
System.out.println("你的年收入为:" + this.pay);
}
// 实现接口中的抽象方法
@Override
public void setFee(double fee) {
this.fee = fee;
System.out.println("你的学费设置为:" + this.fee);
}
// 实现接口中的抽象方法
@Override
public void getFee(double fee) {
this.fee = fee;
System.out.println("你的学费为:" + this.fee);
}
/**
* 是否要贷款
* @return
*/
public boolean Loan(){
if ((this.pay - this.fee) < 2000) {
System.out.println("你的年收入" + this.pay + ",减去学费" + this.fee + "等于" + (this.pay - this.fee));
return true;
}
System.out.println("你的年收入" + this.pay + ",减去学费" + this.fee + "等于" + (this.pay - this.fee));
return false;
}
public static void main(String[] args) {
// 创建一个研究生对象
Graduate graduate = new Graduate();
// 研究生对象的初始化
graduate.name = "zhangsan";
System.out.println("你好:" + graduate.name);
// 设置月工资
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的月工资:");
double pay = scanner.nextDouble();
graduate.setPay(pay);
// 设置学费
System.out.println("请输入你的学费:");
double fee = scanner.nextDouble();
graduate.setFee(fee);
// 判断是否需要贷款
boolean flag = graduate.Loan();
if (flag) {
System.out.println("provide a loan(需要贷款)");
}else {
System.out.println("自给自足,丰衣足食");
}
}
}