java:根据利润表计算奖金所得
代码实现:
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:根据利润表计算奖金所得的更多相关文章
- Java代码题目:计算奖金和完全平方数
1.计算奖金 题目:企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%:利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%:2 ...
- JAVA 基础编程练习题12 【程序 12 计算奖金】
12 [程序 12 计算奖金] 题目:企业发放的奖金根据利润提成.利润(I)低于或等于 10 万元时,奖金可提 10%:利润高于 10 万元, 低于 20 万元时,低于 10 万元的部分按 10%提成 ...
- Java50道经典习题-程序12 计算奖金
题目:企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%: 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%: ...
- 第六天:用javascript实现购彩拆分票的计算奖金
需求如下: 购彩金额 拆分票数 <= 10 1票<= 100 10票<= 200 20票<= 500 50票<= 1000 100票 中奖金额 ...
- 【Java】Float计算不准确
大家可能都遇到过,float在计算某些值时,会有不准确的情况. 比如如下情况: > 计算不准确 package com.nicchagil.study.java.demo.No10float计算 ...
- Java闰年的计算,Calendar的用法
Java闰年的计算,Calendar的用法 代码如下: package com.aaa.zuoye; import java.text.ParseException; import java.util ...
- Java基础-时间复杂度计算方式
Java基础-时间复杂度计算方式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 时间复杂度通常是衡量算法的优劣的,衡量算法的时间严格来讲是很难衡量的,由于不同的机器性能不用环境 ...
- Java Convention 公约数计算
Java Convention 公约数计算 /** * <html> * <body> * <P> Copyright 1994-2018 JasonInterna ...
- Java练习 SDUT-1586_计算组合数
计算组合数 Time Limit: 1000 ms Memory Limit: 32768 KiB Problem Description 计算组合数.C(n,m),表示从n个数中选择m个的组合数. ...
随机推荐
- ubuntu 18.04下character_set_server设置为utf8
打开/etc/mysql/mysql.conf.d/mysql.cnf添加以下代码: character-set-server = utf8 然后重启mysql即可
- qemu基本使用
1.qemu的安装 请参考家用路由器0day漏洞挖掘技术这本书 2.基本使用 qemu有主要如下两种运作模式: 用户模式(User Mode),亦称使用者模式.qemu能启动那些为不同中央处理器编译的 ...
- Kafka-Monitor
kafka Monitor 监测Kafka集群状态 Topic.Consumer Group列表 图形化展示 topic 和 consumer 之间的关系 图形化展示 consumer 的 Offse ...
- luogu P3707 [SDOI2017]相关分析
传送门 对于题目要求的东西,考虑拆开懒得拆了 ,可以发现有\(\sum x\sum y\sum x^2\sum xy\)四个变量影响最终结果,考虑维护这些值 下面记\(l,r\)为区间两端点 首先是区 ...
- luogu P2123 皇后游戏
传送门 跟国王游戏一样的分析 考虑相邻的两个大臣,设他们前面的\(\sum a_j\)为\(s\),同时注意到后面人的贡献更大 所以\(i\)在前面时,\(c_j=\max(\max(c_{last} ...
- POJ3694 Network【连通分量+LCA】
题意: 一个无向图可以有重边,下面q个操作,每次在两个点间连接一条有向边,每次连接后整个无向图还剩下多少桥(注意是要考虑之前连了的边,每次回答是在上一次的基础之上). 思路: 首先运行一次Tarjan ...
- python中datetime与string的相互转换
>>> import datetime >>> value = '2016-10-30 01:48:31' >>> datetime.strpti ...
- ubuntu16.04+caffe+python接口配置
在Windows上用了一个学期的caffe了.深感各种不便,于是乎这几天在ubuntu上配置了caffe和它的python接口,现在记录配置过程,亲测可用: 环境:ubuntu16.04 , caff ...
- emmc基础技术8:操作模式3-interrupt mode
1. 前言 eMMC总线操作包含: boot mode, device identification mode interrupt mode data transfer mode 本文主要描述inte ...
- springboot系列三、springboot 单元测试、配置访问路径、多个配置文件和多环境配置,项目打包发布
一.单元测试 生成的demo里面包含spring-boot-starter-test :测试模块,包括JUnit.Hamcrest.Mockito,没有的手动加上. <dependency> ...