代码实现:

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. PHP7 学习笔记(四)PHP PSR-4 Autoloader 自动加载

    参考文献: 1.PHP PSR-4 Autoloader 自动加载(中文版) 2.PHP编码规范(中文版)导读 3.PHP-PSR-[0-4]代码规范 基本步骤: (1)在vendor 下新建一个项目 ...

  2. bootstrap中模态框的使用

    1.代码: <%--登录模态框--%> <li><a href="#" data-toggle="modal" data-targ ...

  3. Ajax提交请求模板

    function methodName() { var params = { }; var url = ''; jQuery.ajax({ type: 'POST', contentType: 'ap ...

  4. VS Sln图标空白修复办法

    环境:Win10,VS2017,曾经安装并卸载过VS2015之前安装了两个版本的VisualStudio,卸载一个后,就出现了图标空白问题,重新设置默认打开程序也没有作用,经摸索解决办法如下.(1)在 ...

  5. ubuntu下安装pdf编辑器Master PDF Editor

    在 ubuntu 上看一些 pdf 文档,自带的pdf阅读器不带编辑功能.推荐使用 master pdf editor 1. 安装QT sudo apt-get install qt-sdk 2. 下 ...

  6. mysql报错问题解决MySQL server PID file could not be found!

    MySQL server PID file could not be found! 无法启动mysql服务 # service mysqld start MySQL server PID file c ...

  7. 源码编译安装mysql5.5.33

    源码编译安装mysql5.5.33 一.安装cmake编译工具 跨平台编译器 # yum install -y gcc* # yum install -y cmake 解决依赖关系 # yum ins ...

  8. 服务器上安装FileZilla Server连接时报You appear to be behind a NAT router. Please configure the passive mode settings and forward a range of ports in your router.

    官方资源下载链接:客户端,或者直接点击下载“FileZilla_3.24.0_win64-setup.exe”:服务端,或者直接点击下载“FileZilla_Server-0_9_60_2.exe”: ...

  9. Expm 9_1 有向图中环的判断问题

    [问题描述] 给定一个有向图,要求使用深度优先搜索策略,判断图中是否存在环. package org.xiu68.exp.exp9; public class Exp9_1 { //用深度优先搜索判断 ...

  10. 【前端】js截取or分割字符串的常见方法

    1.截取字符串 分割字符串方法 1.charAt(): 没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为 1 的字符串 例如:var str="Hello world!&quo ...