【題目12】分區(qū)間計算獎金

【程序12】
題目:企業(yè)發(fā)放的獎金根據(jù)利潤提成。利潤(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%提成,從鍵盤輸入當月利潤,求應發(fā)放獎金總數(shù)?

package com.share.test11_20;

import java.util.Scanner;

/**
 * 【程序12】題目:<br>
 * 企業(yè)發(fā)放的獎金根據(jù)利潤提成。<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>
 * 從鍵盤輸入當月利潤,求應發(fā)放獎金總數(shù)?   
 * 
 * @author brx
 */
public class Test12 {
    public static void main(String[] args) {
        test();
    }

    /**
     * 思路:<br>
     * 按照題意,這種算獎金是按照區(qū)間來依次累加的,從最上層的區(qū)間考慮起,<br>
     * 每一層完了進入下一層區(qū)間依次累加,順序執(zhí)行和if條件判斷的完美結(jié)合
     */
    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);
    }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容