java 企业发放的奖金根据利润提成

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 企业发放的奖金根据利润提成相关的知识,希望对你有一定的参考价值。

企业发放的奖金根据利润提成。利润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,然后计算出应发放奖金总数并输出显示。

参考技术A public class class_2 /** * @param args */ static void chek(String money) BigDecimal bg = new BigDecimal(money); BigDecimal mon = new BigDecimal("0"); if(bg.doubleValue()<=100000) mon = bg.multiply(new BigDecimal("0.1")); System.out.println(mon); else if(bg.doubleValue()>100000&&bg.doubleValue()<=200000) mon = mon.add(new BigDecimal("100000").multiply(new BigDecimal("0.1"))); bg = bg.subtract(new BigDecimal("100000")); bg=bg.multiply(new BigDecimal("0.075")); mon = mon.add(bg); System.out.println(bg); System.out.println(mon); else if(bg.doubleValue()>200000&&bg.doubleValue()<=400000) mon = mon.add(new BigDecimal("100000").multiply(new BigDecimal("0.1"))); System.out.println(mon); mon = mon.add((new BigDecimal("100000").multiply(new BigDecimal("0.075")))); System.out.println(mon); bg = bg.subtract(new BigDecimal("200000")); bg=bg.multiply(new BigDecimal("0.05")); mon = mon.add(bg); System.out.println(mon); else if(bg.doubleValue()>400000&&bg.doubleValue()<=600000) mon = mon.add(new BigDecimal("100000").multiply(new BigDecimal("0.1"))); System.out.println(mon); mon = mon.add((new BigDecimal("100000").multiply(new BigDecimal("0.075")))); System.out.println(mon); mon = mon.add((new BigDecimal("200000").multiply(new BigDecimal("0.05")))); System.out.println(mon); bg = bg.subtract(new BigDecimal("400000")); bg=bg.multiply(new BigDecimal("0.03")); mon = mon.add(bg); System.out.println(mon); else if(bg.doubleValue()>600000&&bg.doubleValue()<=1000000) mon = mon.add(new BigDecimal("100000").multiply(new BigDecimal("0.1"))); System.out.println(mon); mon = mon.add((new BigDecimal("100000").multiply(new BigDecimal("0.075")))); System.out.println(mon); mon = mon.add((new BigDecimal("200000").multiply(new BigDecimal("0.05")))); System.out.println(mon); mon = mon.add((new BigDecimal("200000").multiply(new BigDecimal("0.03")))); System.out.println(mon); bg = bg.subtract(new BigDecimal("600000")); bg=bg.multiply(new BigDecimal("0.015")); mon = mon.add(bg); System.out.println(mon); else if(bg.doubleValue()>1000000) mon = mon.add(new BigDecimal("100000").multiply(new BigDecimal("0.1"))); System.out.println(mon); mon = mon.add((new BigDecimal("100000").multiply(new BigDecimal("0.075")))); System.out.println(mon); mon = mon.add((new BigDecimal("200000").multiply(new BigDecimal("0.05")))); System.out.println(mon); mon = mon.add((new BigDecimal("200000").multiply(new BigDecimal("0.03")))); System.out.println(mon); mon = mon.add((new BigDecimal("200000").multiply(new BigDecimal("0.015")))); System.out.println(mon); bg = bg.subtract(new BigDecimal("1000000")); bg=bg.multiply(new BigDecimal("0.01")); mon = mon.add(bg); System.out.println(mon); public static void main(String[] args) chek("1000000"); 测试结果 39500.000 不知道正确不 自己修改下本回答被提问者采纳

企业发放的奖金根据利润提成。利润(1)低于或等于10万元的,奖金可提10%;利润高于10万元,低于

企业发放的奖金根据利润提成。利润(1)低于或等于10万元的,奖金可提10%;利润高于10万元,低于20万元(10<I<=20)时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20<I<=40时,低于20万元的部分仍按上述办法提成(下同)。高于20万余的部分按6%提成;40<I<=60时,高于40万元的部分按3%提成;60<I<=100,高于60万元的部分按1.5%提成;I>100时,超过100万元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。要求:用switch语句编程序.
怎么写啊?急

具体如下,输入的利润我是按圆为单位输入的,在计算的时候转换为万,主要是在计算的时候防止溢出,(当然针对这个及时不转化也不会溢出的),最后得到的奖金再由万圆转换为圆

#include<stdio.h>
int main(void)

double I = 0, Bonus = 0;

printf("Please input Profit I= ");
scanf("%lf", &I);

if(I <= 0)

printf("not bonus!\n");

return 0;


I /= 10000;

switch((int)(I/10))

case 0:
Bonus = I * 0.1;
break;

case 1:
Bonus = 10 * 0.1 + (I - 10) * 0.075;
break;

case 2:
case 3:
Bonus = 10 * 0.1 + 10 * 0.075 + (I - 20) * 0.06;
break;

case 4:
case 5:
Bonus = 10 * 0.1 + 10 * 0.075 + 20 * 0.06 + (I - 40) * 0.03;
break;

case 6:
case 7:
case 8:
case 9:
Bonus = 10 * 0.1 + 10 * 0.075 + 20 * 0.06 + 20 * 0.03 + (I - 60) * 0.015;
break;
default:
Bonus = 10 * 0.1 + 10 * 0.075 + 20 * 0.06 + 20 * 0.03 + 40 * 0.015 + (I - 100) * 0.01;
break;


Bonus = Bonus * 10000;

printf("The Bonus = %lf\n", Bonus);

return 0;
参考技术A 抱歉根据您提供的信息,我行无法定义您的问题,您可详细描述您的问题,以便我行准确回答您的问题。
应答时间:2020-12-03,最新业务变化请以平安银行官网公布为准。
[平安银行我知道]想要知道更多?快来看“平安银行我知道”吧~
https://b.pingan.com.cn/paim/iknow/index.html详情
    官方服务
      官方网站智能问答
参考技术B float calc(int n,float money)
float sum;
switch(n)
case 0:
sum+=money*0.1f;
break;
case 1:
if((int)(money)%10000==0)
sum+=money*0.1f;
else
sum+=calc(0,100000)+(money-100000)*0.075f;

break;
case 2:
if((int)(money)%10000==0)
sum+=calc(0,100000)+(money-100000)*0.075f;
else
sum+=calc(2,200000)+(money-200000)*0.06f;

break;
case 3:
if((int)(money)%10000==0)
sum+=calc(2,200000)+(money-200000)*0.06f;
else
sum+=calc(3,300000)+(money-300000)*0.06f;

break;
case 4:
if((int)(money)%10000==0)
sum+=calc(3,300000)+(money-300000)*0.075f;
else
sum+=calc(4,400000)+(money-400000)*0.03f;

break;
case 5:
if((int)(money)%10000==0)
sum+=calc(4,400000)+(money-400000)*0.03f;
else
sum+=calc(5,500000)+(money-500000)*0.03f;

break;
case 6:
if((int)(money)%10000==0)
sum+=calc(5,500000)+(money-500000)*0.03f;
else
sum+=calc(6,600000)+(money-600000)*0.015f;

break;
default:
sum+=calc(6,600000)+(money-600000)*0.015f;
break;

return sum;

以上是关于java 企业发放的奖金根据利润提成的主要内容,如果未能解决你的问题,请参考以下文章

题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万

企业发放的奖金根据利润提成。利润(1)低于或等于10万元的,奖金可提10%;利润高于10万元,低于

企业发放的奖金根据利润提成。利润低于或等于100000元的,奖金可提10%; 利润高于100000元

企业发放的奖金根据利润提成,利润底于或等于10万元时,奖金可提成10%;利润高于10万元,底于20万元时,

C语言 “企业发放的奖金根据利润提成” 的问题

1. 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20