黑马程序员技术交流社区
标题:
求大神解决,我头都想破了!!!~
[打印本页]
作者:
a546036242
时间:
2015-7-20 00:41
标题:
求大神解决,我头都想破了!!!~
题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
作者:
技术人生
时间:
2015-7-21 21:06
多写几个if判断,每个if里面写对应的计算公式
作者:
zaydon369
时间:
2015-7-21 23:38
本帖最后由 zaydon369 于 2015-7-21 23:40 编辑
class Noname1
{
public static void main(String[] args)
{
//核心代码部分
//因为需要键盘输入,所以先定义一个Scanner
java.util.Scanner sc = new java.util.Scanner(System.in);
System.out.println("请输入利润:(单位万元)");//
double liRun = sc.nextDouble();//因为利润不一定是整数,所以用double类型
double jiangJin = 0 ;//因为利润是double类型,所以奖金必须用double,当然也可以强制转换
//进入判断
if(liRun<=0)//就是怕你输入负数
{
System.out.println("没有利润");
}else if(liRun <= 10)//利润低于或等于10万元时,奖金可提10%;
{
jiangJin = liRun * 0.1;
}else if(liRun<= 20)//利润高于10万元,低于20万元时,(因为上面已经判断<=10万,所以这个肯定大于10万)
{
//为什么加等于号?因为下面有个20到40间,高于20部分,所以这里可以大胆判断
//低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%
jiangJin = 10*0.1+(liRun-10)*0.075;//肯定大于10万,所以10万部分提成10%也就是0.1,剩余的就是减去10万;
}else if (liRun <= 40)//20万到40万之间时,同上面
{
//高于20万元的部分,可提成5%;但是,10万,20万的提成得根据上面的来
jiangJin = 10*0.1+(10)*0.075+ (liRun-20)*0.05;
}else if (liRun <= 60)//40万到60万之间时
{
//高于40万元的部分,可提成3%;
jiangJin = 10*0.1+(10)*0.075+20*0.05 +(liRun-40)*0.03;
}else if (liRun <= 100)//60万到100万之间时,
{
//高于60万元的部分,可提成1.5%,
jiangJin = 10*0.1+(10)*0.075+20*0.05 +20*0.03+(liRun-60)*0.015;
}else
{
//高于100万元时,
//超过100万元的部分按1%提成,
jiangJin = 10*0.1+(10)*0.075+20*0.05 +20*0.03+40*0.015+(liRun-100)*0.01;
}
System.out.println("奖金为:"+jiangJin+"万元");
}
}
复制代码
作者:
xclyijin
时间:
2015-7-22 00:05
本帖最后由 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运行过,是可以的
作者:
小丑
时间:
2015-7-22 10:13
几个if判断就ok了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2