求助,java的数学编程题目

来源:百度知道 编辑:UC知道 时间:2024/07/01 06:19:21
写一个发工资的类Erp:它有一个方法Pay,传入两个参数(工龄,基本工资),这个方法专门计算任何一个人的工资,计算的逻辑是:
基本税后工资:基本工资为0~1500的,该多少就多少,
基本工资为1501~3000的,先交12%的住房公积金后交2%的税
基本工资3000以上的,先交8%的住房公积金,后交4%的税;
工龄工资:每工作1年,就增加基本工资的15%;
总工资=基本税后工资+工龄工资

class Erp{
public double Pay(int gongling,double gongzi){
double sum = 0;
if(gongzi>=0&&gongzi<=1500){
sum = gongzi*(1+gongling*0.15);
}else if(gongzi>=1501&&gongzi<=3000){
gongzi = gongzi*(1-0.12)*(1-0.02);
sum = gongzi*(1+gongling*0.15);
}else if(gongzi>3000){
gongzi = gongzi*(1-0.08)*(1-0.04);
sum = gongzi*(1+gongling*0.15);
}
return sum;
}//这样应该就无问题了。你运行一下看看。希望你满意。
}

public class Erp {

public double Pay(int age, int basePay) {
double agePay = 0;
for (int i = 0; i < age; i++) {
agePay = basePay * (1 + 0.15) * age;
}
if ((basePay > 0 && basePay <= 1500)) {
return basePay + agePay;
}
if ((basePay > 1500 && basePay <= 3000)) {
return (basePay + agePay) * (1 - 0.12) * (1 - 0.98);
}
if (basePay > 3000) {
return (basePay + agePay) * (