设计一个简化的信息学院教师年终业绩考核系统(如有雷同,纯属巧合),用于对职工的业绩进行简单评定管理。

import java.util.Scanner;
interface Calculateable
{
    abstract int getGrade();//一直说我没有调用这个方法,我属实不理解,有哪位大佬能给讲解一下吗,我后面的子类里都调用了啊,为什么会有这个警告
}
abstract class Teacher
{
   private int id;
   private String name;
   private int worknum;

    public int getId() {
        return id;
    }
    public void setId(int id)
    {
        this.id=id;
    }
    public String getName()
   {
       return name;
   }
   public void setName(String name)
   {
       this.name=name;
   }
   public int getWorknum()
   {
       return worknum;
   }
   public void setWorknum(int worknum)
    {
        this.worknum=worknum;
    }
    abstract int getYearEarn();
}
class Lecture extends Teacher implements Calculateable
{
    public Lecture(int id,String name,int worknum)
    {
        setId(id);
        setName(name);
        setWorknum(worknum);
    }
    public int getGrade()
    {
       int x=getWorknum();
       int grade=0;
       if(x<300)
           grade=0;
       if(x<400&&x>=300)
           grade=1;
       if(x<600&&x>=400)
           grade=2;
       if(x>=600)
           grade=3;
       return grade;
    }
    public int getYearEarn()
    {
        int bonus = 0;
        int worknum=getWorknum();
        int x=getGrade();
        if(x==0)
            bonus=-1000;
        else if(x==1)
            bonus=(worknum-300)*50;
        else if(x==2)
            bonus=(worknum-300)*70;
        else if(x==3)
            bonus=(worknum-300)*90;
        return bonus;
    }
}
class Professor extends Teacher implements Calculateable
{
    public Professor(int id,String name,int worknum)
    {
        setId(id);
        setName(name);
        setWorknum(worknum);
    }
    public int getGrade()
    {
        int x=getWorknum();
        int grade = 0;
        if(x<400)
            grade=0;
        if(x<500&&x>=400)
            grade=1;
        if(x<800&&x>=500)
            grade=2;
        if(x>=800)
            grade=3;
        return grade;
    }
    public int getYearEarn()
    {
        int bonus = 0;
        int worknum=getWorknum();
        int x=getGrade();
        if(x==0)
            bonus=-2000;
        else if(x==1)
            bonus=(worknum-400)*70;
        else if(x==2)
            bonus=(worknum-400)*90;
        else if(x==3)
            bonus=(worknum-400)*100;
        return bonus;
    }
}
class IO
{
   static int getId()
    {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入教师工号:");
        return sc.nextInt();
    }
    static String getName()
    {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入教师姓名:");
        return sc.nextLine();
    }
    static int getWorknum()
    {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入教师工作量:");
        return sc.nextInt();
    }
    static void print(Teacher x)
    {
        System.out.println("工号为"+x.getId()+"的老师"+x.getName()+"的"+"年终奖金为:"+x.getYearEarn());
    }

}
public class Test5_4_zxj
{
//    ![设计一个简化信息学院教师年终业绩考核系统(如有雷同,纯属巧合),用于对职工的业绩进行简单评定管理。](https://img-blog.csdnimg.cn/20200328175257267.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTQ5MTA1NA==,size_16,color_FFFFFF,t_70)该
//    系统包括一个接口和三个类:一个接口Calculateable具有一个抽象方法getGrade(),用于根据职工的工作量分数计算职工的业绩等级数据。
//    三个类分别是Teacher类,Lecturer类(讲师类)和Professor类(教授类)。Teacher类是一个抽象类,包括教师工号,姓名,年工作量属性,
//    有一个抽象方法 getYearEarn计算年终奖,Lecturer类是Teacher类的子类,实现了Calculateable接口,Professor类是Teacher类的子类,实现了Calculateable接口。
    public static void main(String[] args)
    {
        Lecture x1=new Lecture(IO.getId(),IO.getName(),IO.getWorknum());
        Professor x2=new Professor(IO.getId(),IO.getName(),IO.getWorknum());
        IO.print(x1);
        IO.print(x2);
    }
}

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值