• Java练习demo 20190402 优惠券扣减


    实体类:

    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);
                    }
                }
            }
        }
        
    }
    2015年10月-2016年3月 总计:5个月.
    2016年11月-2017年6月 总计:7个月.
    2017年7月-2018年4月 总计:9个月.
    2018年5月-2018年5月 总计:1个月.
    2018年6月-2018年12月 总计:6个月.
    2019年1月-2019年12月 总计11个月.
    2020年2月-2021年2月 总计13个月.
    所有总计:5+7+9+1+6+11+13=52个月(4年4个月).
    本人认同二元论.我是理想主义者,现实主义者,乐观主义者,有一定的完美主义倾向.不过,一直都是咸鱼(菜鸟),就算有机会,我也不想咸鱼翻身.(并不矛盾,因为具体情况具体分析)
    英语,高等数学,考研,其他知识学习打卡交流QQ群:946556683
  • 相关阅读:
    b_zj_最大点集(排序+小思维)
    b_zj_推箱子(记录人与箱子状态)
    b_zj_头条校招(分类讨论)
    Mybatis基础:缓存
    MyBatis嵌套查寻&嵌套结果查询--复杂查询
    MyBatis报错: java.lang.IllegalArgumentException: Parameter Maps collection does not contain value for com.wang.da
    log4j.properties详细配置 超干净!
    mybatis事务处理
    第一次使用MyBatis
    什么是MyBatis?它是用来做什么的?
  • 原文地址:https://www.cnblogs.com/JimmySeraph/p/10653784.html
Copyright © 2020-2023  润新知