PTA-软件外包公司
出题人 刘凤良
单位 天津仁爱学院
某家软件外包服务公司提供人才派遣服务,并将业务范围划分为两个核心角色:普通开发人员与项目经理。这两个岗位均具备共享的基本属性——'姓名'。每位普通开发人员除了拥有这一共通属性外,还拥有独特的人力资源参数——'工作经验'。其工作职责是负责'开发项目'的任务分配与执行管理。而项目经理则拥有另一套独有的核心能力体系——'项目管理经验',其主要职责是统筹组织项目的实施过程并进行日常监督。在薪资待遇方面,向外界提供的薪资标准为每位普通开发人员每天500元人民币;超出60天后每人日薪降至400元人民币(注:超过部分按单人计费)。对于项目经理而言,则是每人基本日薪为800元人民币(注:包含基础工资及绩效奖金)。根据需求方提供的信息显示:某银行急需招募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元!
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
答题:张鹏宇 内蒙古师范大学20信班
我的代码:
abstract class Employee{
String name = null;
int age = 0;
Employee(String name, int age) {
this.name = name;
this.age = age;
}
abstract void performWork(); // 调整了方法名的表达方式
abstract double calculateCompensation(int days); // 使用"calculate"替代"calc"
}
class Developer extends Employee{
int workexperience;
Developer(String name,int age){
super(name,age);
}
void work() {
System.out.println("开发项目");
}
double calcMoney(int days) {
if(days<60) {
return days500;
}else {
return days400;
}
}
}
class Manager extends Employee{
int manageexperience;
Manager(String name,int age){
super(name,age);
}
void work() {
System.out.println("项目管理");
}
double calcMoney(int days) {
if(days<60) {
return days800;
}else {
return days600;
}
}
}
