java例题_12 奖金问题(暴力破解)
1 /*12 【程序 12 计算奖金】
2 题目:企业发放的奖金根据利润提成。
3 利润I低于或等于 10 万元时,奖金可提 10%;
4 利润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10 万元的部分,可提成 7.5%;
5 20 万到 40万之间时,高于 20 万元的部分,可提成 5%;
6 40 万到 60 万之间时高于 40 万元的部分,可提成 3%;
7 60 万到 100 万之间时,高于 60 万元的部分,可提成 1.5%,高于 100 万元时,超过 100 万元的部分按 1%提成,
8 从键盘输入当月利润 I,求应发放奖金总数?
9 程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义为长整型。
10 */
11
12 /*分析
13 * 1、将输入的金额分类,按照区间划分等级A,B,C,D,E;------------直接计算就是了,不分了,分了会重复使用好多if
14 * 2、写出每个等级的奖金怎么计算 ——————————————————这一个等级的记得加上上一个等级的全额奖金
15 * 3、判断输入的利润在什么等级,对号入座,做好标记
16 * */
17
18
19
20 package homework;
21
22 import java.util.Scanner;
23
24 public class _12 {
25
26 public static void main(String[] args) {
27 //奖金
28 double w=0;
29 // // 声明一个等级标记
30 // char mark='a';
31 System.out.println("请输入利润值整数:");
32 //从键盘上得到利润值
33 Scanner sc=new Scanner(System.in);
34 long I=sc.nextLong();
35 //标记利润属于哪一个级别
36 if(I<0) {
37 //保证利润为正
38 }
39 else if (I<=100000) {
40 w=I*0.1; //0~10W
41 }
42 else if (I<=200000) {
43 w=100000*0.1+(I-100000)*0.75; //10W~20W
44 }
45 else if (I<=400000) {
46 w=100000*0.1+100000*0.075+(I-200000)*0.05; //20W~40W
47 }
48 else if (I<=600000) {
49 w=100000*0.1+100000*0.075+200000*0.05+(I-400000)*0.03; //40w~60w
50 }
51 else if (I<=1000000) {
52 w=100000*0.1+100000*0.075+200000*0.05+200000*0.03+(I-600000)*0.015; //60w~100w
53 }
54 else {
55 w=100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(I-1000000)*0.01; //大于100w
56 }
57 if(I<=0) {
58 System.out.println("输入错误!请输入一个正整数");
59
60 }
61 else {
62 System.out.printf("根据利润所得奖金为:%.2f\n",w); \\保留两位小数
63 }
64 }
65
66 }