代码实现:

public class Hello {
public static void main(String srgs[]) {
Lirun(100);
Lirun2(100);
} public static double Lirun(double lirun) {
/**
* 输入lirun的单位为万元
*/
double sum = 0;
if (lirun <= 10) {
sum = lirun * 0.1; } else if (lirun > 10 && lirun <= 20) {
sum = (lirun - 10) * 0.075 + 10 * 0.1;
} else if (lirun > 20 && lirun <= 40) {
sum = (lirun - 20) * 0.05 + (20 - 10) * 0.075 + 10 * 0.1;
} else if (lirun > 40 && lirun <= 60) {
sum = (lirun - 40) * 0.03 + (40 - 20) * 0.05 + (20 - 10) * 0.075 + 10 * 0.1;
} else if (lirun > 60 && lirun <= 100) {
sum = (lirun - 60) * 0.015 + (60 - 40) * 0.03 + (40 - 20) * 0.05 + (20 - 10) * 0.075 + 10 * 0.1;
} else if (lirun > 100) {
sum = (lirun - 100) * 0.001 + (100 - 60) * 0.015 + (60 - 40) * 0.03 + (40 - 20) * 0.05 + (20 - 10) * 0.075
+ 10 * 0.1;
}
System.out.println("当前利润为:" + lirun + "万元,应得奖金为:" + sum + "万元!");
return sum;
} public static double Lirun2(double lirun) {
/**
* 输入lirun的单位为万元 定义两个double类型的数组,分别存入利润值分段和对应的奖金比例。
*/
double sum = 0;
double tmp = lirun; // 定义一个临时变量
boolean flag = false; // 定义一个flag,用来标记是否已经找到利润值表的对应元素,然后根据这个flag进行下一个阶段的奖金值计算
double[] lirunArr = { 10, 20, 40, 60, 100 };
double[] Arrnum = { 0.1, 0.075, 0.05, 0.03, 0.015 };
for (int i = lirunArr.length - 1; i >= 0; i--) { // 遍历利润值
if (tmp > lirunArr[i]) { // 判断当前的临时变量(输入的利润值)是否大于利润值表的最大元素,目的找到输入的利润值的取值范围
tmp = tmp - lirunArr[i];
sum += tmp * Arrnum[i];
flag = true;
} else if (flag && i >= 1) { // 按照利润值表中各阶段对应的奖金比例计算奖金。
tmp = lirunArr[i] - lirunArr[i - 1];
sum += tmp * Arrnum[i];
} else if (i == 0) { // 理论上需要定义数组时输入一个0的元素,但是如果不定义,那就得利用i==0的特殊情况进行区别处理,以处理第二阶段数组越界的情况。
tmp = lirunArr[i];
sum += tmp * Arrnum[i];
} // System.out.println("i=" + i + ";tmp=" + tmp + ";sum=" + sum);
}
System.out.println("当前利润为:" + lirun + "万元,应得奖金为:" + sum + "万元!");
return sum;
}
}

  

java:根据利润表计算奖金所得的更多相关文章

  1. Java代码题目:计算奖金和完全平方数

    1.计算奖金 题目:企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%:利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%:2 ...

  2. JAVA 基础编程练习题12 【程序 12 计算奖金】

    12 [程序 12 计算奖金] 题目:企业发放的奖金根据利润提成.利润(I)低于或等于 10 万元时,奖金可提 10%:利润高于 10 万元, 低于 20 万元时,低于 10 万元的部分按 10%提成 ...

  3. Java50道经典习题-程序12 计算奖金

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

  4. 第六天:用javascript实现购彩拆分票的计算奖金

    需求如下: 购彩金额  拆分票数  <= 10    1票<= 100    10票<= 200   20票<= 500   50票<= 1000   100票 中奖金额 ...

  5. 【Java】Float计算不准确

    大家可能都遇到过,float在计算某些值时,会有不准确的情况. 比如如下情况: > 计算不准确 package com.nicchagil.study.java.demo.No10float计算 ...

  6. Java闰年的计算,Calendar的用法

    Java闰年的计算,Calendar的用法 代码如下: package com.aaa.zuoye; import java.text.ParseException; import java.util ...

  7. Java基础-时间复杂度计算方式

    Java基础-时间复杂度计算方式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   时间复杂度通常是衡量算法的优劣的,衡量算法的时间严格来讲是很难衡量的,由于不同的机器性能不用环境 ...

  8. Java Convention 公约数计算

    Java Convention 公约数计算 /** * <html> * <body> * <P> Copyright 1994-2018 JasonInterna ...

  9. Java练习 SDUT-1586_计算组合数

    计算组合数 Time Limit: 1000 ms Memory Limit: 32768 KiB Problem Description 计算组合数.C(n,m),表示从n个数中选择m个的组合数. ...

随机推荐

  1. 第k个素数

    题目描述 Output the k-th prime number. 输入描述: k≤10000 输出描述: The k-th prime number. #include <iostream& ...

  2. round_robin 的几种取值

    ATS-6 的round_robin可以有4种算法可以选择 true Traffic Server goes through the parent cache list in a round robi ...

  3. html5 实时监听输入框值变化的完美方案:oninput & onpropertychange

    结合 HTML5 标准事件 oninput 和 IE 专属事件 onpropertychange 事件来监听输入框值变化. H5手机端: <input type="text" ...

  4. JavaScript之事件绑定多个序列执行方法

    //一种事件绑定多个方法:以加载事件为例 function addEventLoad(func,isLog) { var oldOnLoad = window.onload; if (typeof w ...

  5. cpp与其他语言相比较

    new  相当于 malloc ,delete 相当于  free ,用法一样 c++ 有 namespace,可以避免类名污染  namespace xx{} c++ 有类 这个与 c#.as3比较 ...

  6. zabbix 源码分析 another/first network error wait for 15s seconds 出现原因及调优建议

    在监控设备的时候,在server端的日志中有时候会见到类似another network error, wait for 15s seconds的异常,今天我们看下这个问题的出现原因和解决方案: 问题 ...

  7. Oracle-数据泵使用

    一.为何选择数据泵方式 相对于exp/imp方式,数据泵(expdp/impdp)更快,且能导出空表:相对于rman.dg等方式,数据泵操作更加简单.此外,在数据量不大.可停库的情况下,数据泵方式是可 ...

  8. struct 与 class 的区别

    C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能. struct能包含成员函数吗? 能! struct能继承吗? 能!! s ...

  9. 【ARTS】01_03_左耳听风-20181126~1202

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  10. python中argparse

    python中argparse 在很多编程语言中,运行程序可以直接使用function(a,b,……)运行程序,但是在python中就无法实现,那么我们如何在命令行中传递参数呢?在python的中,有 ...