Java基础编程练习

6-51 软件外包公司分数 10

有一家软件外包公司,可以外派开发人员,该软件公司有两个角色,普通开发人员和项目管理,它们有共同的属性"姓名","年龄" 普通开发人员有自己特有的属性"工作经验",他的工作内容是"开发项目",项目经理有自己特有的属性“项目管理经验”,他的工作内容是项目管理,对外的报价是普通开发人员每天 500 元,超过 60 天每天 400 元,项目经理每天 800 元,超过 60 天每天 600 元,有一家银行需要1名项目经理,2 名开发人员,现场开发 90 天,计算银行需要付给软件公司的总金额。

函数接口定义:

void work();  //工作内容
double calcMoney(int days);  //计算开发 days 天所需金额

裁判测试程序样例:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Employee[] employees = new Employee[3];
        Developer d1 = new Developer("小王", 23);
        Developer d2 = new Developer("小李", 22);
        Manager manager = new Manager("老张", 32);
        employees[0] = d1;
        employees[1] = d2;
        employees[2] = manager;
        //输入开发天数
        Scanner input = new Scanner(System.in);
        int days = input.nextInt();
        //计算所需金额
        double totalMoney = 0;
        for (Employee employee : employees) {
            totalMoney += employee.calcMoney(days);
        }
        System.out.println("开发:" + days + "天,总共需要支付:" + totalMoney + "元!");
    }
}



/* 请在这里填写答案 */

输入样例:

90

输出样例:

开发:90天,总共需要支付:126000.0元!

以下是答案


import java.util.Scanner;
public class Pta_6_51_2 {
	public static void main(String args[]) {
		Employee51[] employees = new Employee51[3];
		Developer d1 = new Developer("小王",23);
		Developer d2 = new Developer("小李",22);
		Manager manager = new Manager("老张",32);
		employees[0] = d1;
		employees[1] = d2;
		employees[2] = manager;

		Scanner input = new Scanner(System.in);
		int days = input.nextInt();
		double totalMoney = 0;
		for(Employee51 employee : employees) {
			totalMoney += employee.calcMoney(days);
		}
		System.out.println("开发:"+days+"天,总共需要支付:"+totalMoney+"元!");
	}
}
//以下是答案
abstract class Employee51{
	protected String name;
	protected int age;
	Employee51(String name,int age){}
	double calcMoney(int days) {
		return 0;
	}
	void work() {}
}
class Developer extends Employee51{
	Developer(String name,int age){
		super(name,age);
	}
	public double calcMoney(int days) {
		double money=0;
		if(days<60) {
			money = 500*days;
		}
		else {
			money = 400*days;
		}
		return money;
	}
}
class Manager extends Employee51{
	Manager(String name,int age){
		super(name,age);
	}
	public double calcMoney(int days) {
		double money = 0;
		if(days<60) {
			money = 800*days;
		}
		else {
			money = 600*days;
		}
		return money;
	}
}
  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值