【Java】计算奖金/计算提成

企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

package computer;
import java.util.Scanner;
/*
 * a:利润	b:奖金
 * a<=10 b=i*0.1	》》低于10万元的奖金
 * 10<=a<20 b=(a-10)*0.075+(10-0)*0.1	》》高于10万元低于20万元的奖金+低于10万元的奖金
 * 20<=a<40 b=(a-20)*0.05+(20-10)*0.075+(10-0)*0.1	
 * 40<=a<60 b=(a-40)*0.03+(40-20)*0.05+(20-10)*0.075+(10-0)*0.1
 * 60<=a<100 b=(a-60)*0.015+(60-40)*0.03+(40-20)*0.05+(20-10)*0.075+(10-0)*0.1
 * a>100 b=(a-100)*0.01+(100-60)*0.015+(60-40)*0.03+(40-20)*0.05+(20-10)*0.075+(10-0)*0.1
 * */
public class company {
	public static void main(String[] args) {
		System.out.println("请输入利润:");
		Scanner scanner=new Scanner(System.in);
		int i = scanner.nextInt();
		if (i<=100000) {
			System.out.println("奖金:"+i*0.1);
		} else if(i>=100000 && i<200000){
			System.out.println("奖金:"+((i-100000)*0.075+(100000-0)*0.1));
		}else if (i>=200000 && i<4000000) {
			System.out.println("奖金:"+((i-200000)*0.05+(200000-100000)*0.075+(100000-0)*0.1));
		}else if (i>=400000 && i<600000) {
			System.out.println("奖金:"+((i-400000)*0.03+(400000-200000)*0.05+(200000-100000)*0.075+(100000-0)*0.1));
		}else if (i>=600000 && i<1000000) {
			System.out.println("奖金:"+((i-600000)*0.015+(600000-400000)*0.03+(400000-200000)*0.05+(200000-100000)*0.075+(100000-0)*0.1));
		}else if (i>=1000000) {
			System.out.println("奖金:"+((i-1000000)*0.01)+(100-60)*0.015+(60-40)*0.03+(40-20)*0.05+(20-10)*0.075+(10-0)*0.1);
		}
		scanner.close();
		
	}
}

 

 

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Java代码实现: ```java public class Employee { private double baseSalary; // 底薪 private int attendanceDays; // 出勤天数 private double salesAmount; // 销售额 public Employee(double baseSalary, int attendanceDays, double salesAmount) { this.baseSalary = baseSalary; this.attendanceDays = attendanceDays; this.salesAmount = salesAmount; } public double getMonthlySalary() { double salary = baseSalary; if (attendanceDays == 23) { salary += 500; // 全勤绩效 } double commission = 0; if (salesAmount <= 1000) { commission = salesAmount * 0.05; } else if (salesAmount <= 2000) { commission = 1000 * 0.05 + (salesAmount - 1000) * 0.1; } else if (salesAmount <= 4000) { commission = 1000 * 0.05 + 1000 * 0.1 + (salesAmount - 2000) * 0.15; } else { commission = 1000 * 0.05 + 1000 * 0.1 + 2000 * 0.15 + (salesAmount - 4000) * 0.2; } salary += commission; // 提成 return salary; } } public class SalesEmployee extends Employee { private double commissionRate; // 提成比例 public SalesEmployee(double baseSalary, int attendanceDays, double salesAmount, double commissionRate) { super(baseSalary, attendanceDays, salesAmount); this.commissionRate = commissionRate; } @Override public double getMonthlySalary() { double salary = super.getMonthlySalary(); salary += salesAmount * commissionRate; // 提成 return salary; } } ``` 在销售员工类中重写了父类的 `getMonthlySalary()` 方法,加上了提成计算。其中,提成比例是通过构造器传入的。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值