美文网首页基础编程50题
【题目12】分区间计算奖金

【题目12】分区间计算奖金

作者: Xplorist | 来源:发表于2017-03-26 08:49 被阅读60次

【程序12】
题目:企业发放的奖金根据利润提成。利润(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%提成,从键盘输入当月利润,求应发放奖金总数?

package com.share.test11_20;

import java.util.Scanner;

/**
 * 【程序12】题目:<br>
 * 企业发放的奖金根据利润提成。<br>
 * 利润(I)低于或等于10万元时,奖金可提10%;<br>
 * 利润高于10万元,低于20万元时,低于10万元的部分按10%提成, 高于10万元的部分,可可提成7.5%;<br>
 * 20万到40万之间时,高于20万元的部分,可提成5%;<br>
 * 40万到60万之间时高于40万元的部分,可提成3%;<br>
 * 60万到100万之间时,高于60万元的部分,可提成1.5%,<br>
 * 高于100万元时,超过100万元的部分按1%提成,<br>
 * 从键盘输入当月利润,求应发放奖金总数?   
 * 
 * @author brx
 */
public class Test12 {
    public static void main(String[] args) {
        test();
    }

    /**
     * 思路:<br>
     * 按照题意,这种算奖金是按照区间来依次累加的,从最上层的区间考虑起,<br>
     * 每一层完了进入下一层区间依次累加,顺序执行和if条件判断的完美结合
     */
    public static void test() {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入当月的利润:(单位:万元)");
        double d = sc.nextDouble();
        double result = 0;
        if (d > 100) {
            result += (d - 100) * 0.01;
            d = 100;
        }
        if (d > 60) {
            result += (d - 60) * 0.015;
            d = 60;
        }
        if (d > 40) {
            result += (d - 40) * 0.03;
            d = 40;
        }
        if (d > 20) {
            result += (d - 20) * 0.05;
            d = 20;
        }
        if (d > 10) {
            result += (d - 10) * 0.075;
            d = 10;
        }
        result += d * 0.1;
        System.out.println("当月的奖金为:" + result);
    }
}

相关文章

网友评论

    本文标题:【题目12】分区间计算奖金

    本文链接:https://www.haomeiwen.com/subject/lvihottx.html