Java上机作业03

Java上机作业03

题目:

编写Emplyee类:为抽象类,保存在Company包中
(1)属性:姓名、工号、工作天数。
(2)构造方法: 有参构造方法:根据传递的参数,设置姓名、工号、工作天数的值。
(3)抽象方法salary:无参,返回值为double类型。

package Company;

public abstract class Emplyee {
	public String name;
	public String no;
	public int days;
	public Emplyee(String name,String no,int days) {
		this.name=name;
		this.no=no;
		this.days=days;
	}
	public abstract double salary();

}

编写TemporaryEmplyee(临时工)类:继承Emplyee类,保存在Company包中
(1) 编写构造方法,实现姓名、工号、工作天数的初始化。
(2) 实现抽象方法salary( ),计算并返回工资,计算公式为:基本工资(2000)+工作天数*300

package Company;

public class TemporaryEmplyee extends Emplyee {
	public TemporaryEmplyee(String name,String no,int days) {
		super(name,no,days);
	}
	public double salary() {
		return 2000+this.days*300;
	}

}

RegularEmployee(正式员工)类:继承Emplyee类,保存在Company包中
(1) 增加属性:薪级(取值:1~5级)
(2) 编写构造方法,实现姓名、工号、工作天数、薪级的初始化。
(3) 实现抽象方法salary( ),计算并返回工资,计算公式为:基本工资(2000)+薪级400+工作天数300+补贴

package Company;

public class RegularEmployee extends Emplyee{
	public int degree;
	public RegularEmployee(String name,String no,int days,int degree) {
		super(name,no,days);
		this.degree=degree;
	}
	public double salary() {
		return 2000+degree*400+days*300+1000;
	}

}

编写Trainee类(实习生):继承Emplyee类,保存在Company包中(1) 编写构造方法,实现姓名、工号、工作天数的初始化。
(2) 实现抽象方法salary( ),工资计算公式为:工作天数*200+补贴(500)

package Company;

public class Trainee extends Emplyee{
	public Trainee(String name,String no,int days) {
		super(name,no,days);
	}
	public double salary() {
		return days*200+500;
	}

}

编写EmplyeeDemo类:保存在默认包中(即不保存在Company包里)引入Company包,编写main方法:
(1) 建立可保存10个Empleyee对象的数组
(2) 实例化若干个TemporaryEmplyee类、RegularEmployee类、Trainee类对象并存储在数组中。
(3) 分别调用这些对象的salary()方法,计算公司为每个员工应付的工资,并进行累加,把求得的公司总工资支出输出。

package homework;
import Company.*;
public class EmplyeeDemo {

	public static void main(String[] args) {
		Emplyee[] emarr=new Emplyee[10];
		emarr[0]=new TemporaryEmplyee("Tom","110",30);
		emarr[1]=new TemporaryEmplyee("Alis","111",29);
		emarr[2]=new RegularEmployee("Lasin","112",25,5);
		emarr[3]=new RegularEmployee("Lisa","113",28,4);
		emarr[4]=new RegularEmployee("Ailon","114",26,4);
		emarr[5]=new RegularEmployee("Jack","115",29,3);
		emarr[6]=new RegularEmployee("Mon","116",29,2);
		emarr[7]=new RegularEmployee("Hon","117",30,1);
		emarr[8]=new TemporaryEmplyee("Bin","118",29);
		emarr[9]=new TemporaryEmplyee("Win","111",29);
		double sum=0;
		for(int i=0;i<emarr.length;i++) {
			System.out.println(emarr[i].name+"工号为"+emarr[i].no+"每月工作"+emarr[i].days+"月薪是"+emarr[i].salary());
			sum=sum+emarr[i].salary();
		}
		System.out.println("该公司总工资支出输出为"+sum);

	}

}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值