java面试每日一题5

时间:2022-11-27 17:11:22

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

1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader; public class Main { /**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
System.out.println("请输入月利润:");
BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
long money=Integer.parseInt(buf.readLine());
long base[]={100000,200000,400000,600000,1000000};
int i;
long sum=0;
for(i=0;i<base.length;i++){
if(money<=base[i]){
break;
}
}
switch(i){
case 1:
sum+=(money-1000000)*0.01;
money=1000000;
case 2:
sum+=(money-600000)*0.015;
money=600000;
case 3:
sum+=(money-400000)*0.03;
money=400000;
case 4:
sum+=(money-200000)*0.05;
money=200000;
case 5:
sum+=(money-100000)*0.1;
money=100000;
default:
sum+=money*0.1;
}
System.out.println("应发奖金总数:"+sum);
} }