A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?

4 个回复

倒序浏览
多写几个if判断,每个if里面写对应的计算公式
回复 使用道具 举报
本帖最后由 zaydon369 于 2015-7-21 23:40 编辑


  1. class  Noname1
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 //核心代码部分
  6.                 //因为需要键盘输入,所以先定义一个Scanner
  7.                 java.util.Scanner sc = new java.util.Scanner(System.in);
  8.                 System.out.println("请输入利润:(单位万元)");//
  9.                 double liRun = sc.nextDouble();//因为利润不一定是整数,所以用double类型
  10.                 double jiangJin = 0 ;//因为利润是double类型,所以奖金必须用double,当然也可以强制转换
  11.                 //进入判断
  12.                 if(liRun<=0)//就是怕你输入负数
  13.                 {
  14.                         System.out.println("没有利润");
  15.                 }else if(liRun <= 10)//利润低于或等于10万元时,奖金可提10%;
  16.                 {
  17.                         jiangJin = liRun * 0.1;
  18.                 }else if(liRun<= 20)//利润高于10万元,低于20万元时,(因为上面已经判断<=10万,所以这个肯定大于10万)
  19.                 {
  20.                         //为什么加等于号?因为下面有个20到40间,高于20部分,所以这里可以大胆判断
  21.                                 //低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%
  22.                                 jiangJin = 10*0.1+(liRun-10)*0.075;//肯定大于10万,所以10万部分提成10%也就是0.1,剩余的就是减去10万;                                
  23.                 }else if (liRun <= 40)//20万到40万之间时,同上面
  24.                 {
  25.                         //高于20万元的部分,可提成5%;但是,10万,20万的提成得根据上面的来
  26.                                 jiangJin = 10*0.1+(10)*0.075+ (liRun-20)*0.05;
  27.                 }else if (liRun <= 60)//40万到60万之间时
  28.                 {
  29.                         //高于40万元的部分,可提成3%;
  30.                                 jiangJin = 10*0.1+(10)*0.075+20*0.05 +(liRun-40)*0.03;
  31.                 }else if (liRun <= 100)//60万到100万之间时,
  32.                 {
  33.                         //高于60万元的部分,可提成1.5%,
  34.                                 jiangJin = 10*0.1+(10)*0.075+20*0.05 +20*0.03+(liRun-60)*0.015;
  35.                 }else
  36.                 {
  37.                         //高于100万元时,
  38.                         //超过100万元的部分按1%提成,
  39.                         jiangJin = 10*0.1+(10)*0.075+20*0.05 +20*0.03+40*0.015+(liRun-100)*0.01;
  40.                 }
  41.                 System.out.println("奖金为:"+jiangJin+"万元");

  42.         }
  43. }
复制代码
回复 使用道具 举报
本帖最后由 xclyijin 于 2015-7-22 00:07 编辑

import java.util.Scanner;

public class EnterpriseProfit {
        public static void main(String[] args)
        {
                System.out.println("请输入利润:(万元)");
                Scanner in=new Scanner(System.in);
                double profit=in.nextDouble();
                double bonus=bonusSum(profit);
                System.out.println("奖金为:"+bonus+"万元");
               
               
        }

        public static double bonusSum(double profit) {
                // TODO Auto-generated method stub
               
               
                if(profit<10) return profit*0.1;
                else if(profit>10&&profit<20) return 10*0.1+(profit-10)*0.075;
                else if(profit>=20&&profit<40) return 10*0.1+(10)*0.075+ (profit-20)*0.05;
                else if(profit>=40&&profit<60) return 10*0.1+(10)*0.075+20*0.05 +(profit-40)*0.03;
                else if(profit>=60&&profit<100)return 10*0.1+(10)*0.075+20*0.05 +20*0.03+(profit-60)*0.015;
                else return 10*0.1+(10)*0.075+20*0.05 +20*0.03+40*0.015+(profit-100)*0.01;
        }

}
放在eclipse运行过,是可以的
回复 使用道具 举报
几个if判断就ok了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马