代码实现:企业发放的奖金根据利润提成。利润(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万元

时间:2022-06-10 03:06:05
import java.util.Scanner;

/*
企业发放的奖金根据利润提成。利润(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%提成,
从键盘输入当月l利润I,求应发放奖金总数?
程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。*/ public class Test12 {
public static void main(String[] args) { Scanner sc = new Scanner(System.in);
System.out.println("请输入利润(注意 : 利润为整数,单位:元)");
long profit = 0;
while (true) {
String s = sc.nextLine();
try {
profit = Integer.parseInt(s);
break;
} catch (NumberFormatException e) {
System.out.println("录入错误,请重新输入整数(单位:元):");
}
}
System.out.println("应发奖金:" + bonus(profit));
} private static long bonus(long profit) {
long prize = 0;
long profit_sub = profit;
if (profit > 1000000) {
profit = profit_sub - 1000000;
profit_sub = 1000000;
prize += profit * 0.01;
}
if (profit > 600000) {
profit = profit_sub - 600000;
profit_sub = 600000;
prize += profit * 0.015;
}
if (profit > 400000) {
profit = profit_sub - 400000;
profit_sub = 400000;
prize += profit * 0.03;
}
if (profit > 200000) {
profit = profit_sub - 200000;
profit_sub = 200000;
prize += prize * 0.05;
}
if (profit > 100000) {
profit = profit_sub - 100000;
profit_sub = 100000;
prize += profit * 0.075;
}
prize += profit_sub * 0.1;
return prize;
}
}