Java练习demo 20190402 优惠券扣减
2024-09-05 11:51:24
实体类:
package org.jimmy.autosearch2019.pojo; import java.math.BigDecimal; public class TestEntity20190402 { private Integer time;
private BigDecimal discountMoney; public Integer getTime() {
return time;
}
public void setTime(Integer time) {
this.time = time;
}
public BigDecimal getDiscountMoney() {
return discountMoney;
}
public void setDiscountMoney(BigDecimal discountMoney) {
this.discountMoney = discountMoney;
} }
业务扣减类:
package org.jimmy.autosearch2019.test; import java.math.BigDecimal;
import java.util.ArrayList; import org.jimmy.autosearch2019.pojo.TestEntity20190402; /**
* @author ラピスラズリ(Dawn)
* @date 2019年4月2日 上午11:15:39
* @detail 循环扣减demo
*/
public class Test20190402 { public static ArrayList<TestEntity20190402> list = new ArrayList<TestEntity20190402>(); static {
TestEntity20190402 testEntity = new TestEntity20190402();
testEntity.setTime(1);
testEntity.setDiscountMoney(new BigDecimal(100));
list.add(testEntity);
testEntity = new TestEntity20190402();
testEntity.setTime(5);
testEntity.setDiscountMoney(new BigDecimal(10));
list.add(testEntity);
testEntity = new TestEntity20190402();
testEntity.setTime(3);
testEntity.setDiscountMoney(new BigDecimal(20));
list.add(testEntity);
testEntity = new TestEntity20190402();
testEntity.setTime(2);
testEntity.setDiscountMoney(new BigDecimal(50));
list.add(testEntity);
} public static void main(String[] args) {
sort();
TestEntity20190402 getMiniTestEntity = getMiniTimeTestEntity();
BigDecimal total = new BigDecimal(155);
ArrayList<TestEntity20190402> tempList = new ArrayList<TestEntity20190402>();
while((total = total.subtract(getMiniTestEntity.getDiscountMoney())).intValue() > 0) {
tempList = new ArrayList<TestEntity20190402>();
for(int i = 1; i < list.size(); i++) {
tempList.add(list.get(i));
}
list = tempList;
getMiniTestEntity = getMiniTimeTestEntity();
}
BigDecimal currentDiscountMoney = null;
if(total.intValue() < 0) {
total = total.add(getMiniTestEntity.getDiscountMoney());
currentDiscountMoney = getMiniTestEntity.getDiscountMoney();
}
System.out.println(total.intValue());
System.out.println(currentDiscountMoney.intValue());
} public static TestEntity20190402 getMiniTimeTestEntity() {
/*for(int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).getTime() + "," + list.get(i).getDiscountMoney());
}*/
//获取第一个就是时间最早的
TestEntity20190402 testEntity = list.get(0);
return testEntity;
} public static void sort() {
for(int i = 0; i < list.size(); i++) {
for(int j = i + 1; j < list.size(); j++) {
TestEntity20190402 outerTestEntity = list.get(i);
TestEntity20190402 innerTestEntity = list.get(j);
if(innerTestEntity.getTime() < outerTestEntity.getTime()) {
list.set(i, innerTestEntity);
list.set(j, outerTestEntity);
}
}
}
} }
最新文章
- Slick – 这是你需要的最后一款 jQuery 传送带插件
- MySQL 5.6 Threadpool(优先队列)介绍及性能测试【转】
- Java防盗链机制
- iOS-UISegmentedControl-隐藏边框
- CSS标签选择器(二)
- ServiceStack.OrmLite 6 学习笔记 查
- linux笔记:linux常用命令-链接命令
- asp.net 代码 注意点
- postgresql downgrade issue
- Mysql统计同一字段不同值的个数
- 深度优化LNMP之PHP (转)
- Behavioral模式之Observer模式
- 【CNMP系列】CentOS7.0下安装Nginx服务
- mysql启动日志文件log_bin
- 将AE开发的专题图制作功能发布为WPS
- SharePoint2007使用WebPart加载UserControl
- Linux发行版:CentOS、Ubuntu、RedHat、Android、Tizen、MeeGo
- python manage.py syncdb Unknown command: &#39;syncdb&#39;问题解决方法
- 实现一个 Virtual DOM 算法
- [转]Spring MVC 教程,快速入门,深入分析
热门文章
- .NETFramework:Cache
- docker安装-卸载
- 死记硬背之Bunside
- 007--linux常用命令nginx和nfs服务
- k-means 算法介绍
- E20180327-hm
- 与adb相关的问题,比如掉线问题、Android Studio 提示Session &#39;app&#39;:Error Installing APK、找不到设备
- 最小公倍数的最小和(Minimum Sum LCM )
- Hexo瞎折腾系列(5) - 使用hexo-neat插件压缩页面静态资源
- PostgreSQL - 官方手册、中文手册及Github项目地址