算法题目
企业发放的奖金根据利润提成。利润低于或等于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%提成。从键盘输入当月利润,求应发放奖金总数?(保留两位小数)利润的大小在double以内
【输入形式】
210000
【输出形式】
18000.00
一、解题思路
分步分段依次进行,详看以下代码。
二、代码
import java.util.Scanner;
public class CorporateBonus {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner reader = new Scanner(System.in);
double n = reader.nextDouble();
reader.close();
double bonus = 0.0;
if (n > 1000000) {
bonus += (n - 1000000) * 0.01;
n = 1000000;
}
if (n > 600000 && n <= 1000000) {
bonus += (n - 600000) * 0.015;
n = 600000;
}
if (n > 400000 && n <= 600000) {
bonus += (n - 400000) * 0.03;
n = 400000;
}
if (n > 200000 && n <= 400000)
{
bonus += (n - 200000) * 0.05;
n = 200000;
}
if (n > 100000 && n <= 200000) {
bonus += (n - 100000) * 0.075;
n = 100000;
}
if (n > 0 && n <= 100000) {
bonus += n * 0.1;
}
System.out.printf("%.2f", bonus);
}
}
结语
欢迎大家评论留言讨论,若有不当和错误的地方也欢迎大家指出,共同进步!