[案例4-6]研究生薪资管理
案例描述:
在学校中,学生每个月需要交相应的生活费,老师每个月有相应的工资,而在职研究生既是老师又是学生,所以在职研究生既需要交学费又会有工资。下面要求编写一个程序来统计在职研究生的收入与学费,如果收入减去学费不足2000 元,则输出“provide a loan”(需要贷款)信息,。
本案例要求使用接口实现该程序。
运行结果:
定义两个接口:
/** * 2022/3/22 */ public interface Teacher { double xinShui(); }
/** * 2022/3/22 */ public interface Student { double xueFei(); }
定义主类实现两个接口:
/** * 2022/3/22 */ public class Graduate implements Student,Teacher{ private String name; private int age; private double xin , xue; public Graduate(String name, int age, double xin, double xue) { this.name = name; this.age = age; this.xin = xin; this.xue = xue; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public double getXin() { return xin; } public void setXin(double xin) { this.xin = xin; } public double getXue() { return xue; } public void setXue(double xue) { this.xue = xue; } @Override public double xinShui() { return xin; } @Override public double xueFei() { return xue; } }
定义测试类:
import java.util.Scanner; /** * 2022/3/22 */ public class Demo { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("请输入任职教师的薪资:"); double x = in.nextDouble(); System.out.println("请输入学生学费:"); double xue = in.nextDouble(); Graduate gr = new Graduate("小明",19,x,xue); if (gr.xinShui() - gr.xueFei() < 2000){ System.out.println("provide a loan"); }else{ System.out.println("够用!"); } } }
上一篇:
通过多线程提高代码的执行效率例子