最新要闻
- 巴西媒体人:全球对美国货币政策不满与日俱增 美元国际吸引力大幅降低
- 国产AI和ChatGPT的差距有多大?李彦宏:有可能能赶上 也有可能一直追不上 焦点资讯
- 为什么火锅里的金针菇叫“明天见”?了解一下几丁质 天天热头条
- 对标ChatGPT!李彦宏:文心一言已完成4次技术升级 大模型推理性能已提升近10倍
- 华众车载(06830)获北汽奔驰新能源车产品订单 预测销售额约9亿元|世界今日讯
- 史上最大员工福利!京东60亿建4000套员工公寓:可拎包入住 租金约为市场价格一半 环球即时
- 环球聚焦:00后幼师回应唱挖呀挖呀走红:揭秘为何“挖呀挖呀”能魔性洗脑全网
- 人民网评婆孙平移插队、表情包恶搞事件:不能滑向违法边缘 世界视点
- 全球快讯:浙江省政协党组成员、副主席朱从玖接受审查调查
- 商场举办躺平大赛3人分万元奖金,160多人报名参加
- 天天微资讯!劳斯莱斯史上最畅的销敞篷车没了 劳斯莱斯耀影正式停产
- 安徽一地惊现“海市蜃楼”奇观:持续约7分钟!
- 山东招远文旅局出奇招:单手拿起50斤金砖就送 价值1000多万-环球新视野
- 阵容完备——全新路虎·卫士130|CAR REVIEWS
- 焦点速讯:五一期间 市公交公司安全运送乘客48万余人次
- 微信2023五一大数据来了!十大景区花钱榜公布 你花了多少钱? 观焦点
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
世界观热点:Java 双指针项目中的实际应用
(相关资料图)
背景说明
最近在做财务相关的系统,对账单核销预付款从技术角度来看就是将两个数组进行合并
对账单核销预付款前提条件:
- 对账单总金额必须等于未核销金额
数据示例
对账单数据
单号 | 金额 |
---|---|
B0001 | 100 |
B0002 | 80 |
B0003 | 120 |
预付款数据
单号 | 未核销金额 |
---|---|
PRE001 | 110 |
PRE002 | 190 |
结果数据
预付款单号 | 核销金额 | 对账单号 |
---|---|---|
PRE001 | 100 | B001 |
PRE001 | 10 | B002 |
PRE002 | 70 | B002 |
PRE002 | 120 | B003 |
通过分析可以使用JAVA双指针算法可以实现这个需求双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。
代码实现
public static void main(String[] args) { class Info { private String formId; private BigDecimal amount; public String getFormId() { return formId; } public void setFormId(String formId) { this.formId = formId; } public BigDecimal getAmount() { return amount; } public void setAmount(BigDecimal amount) { this.amount = amount; } } List billBatchlist = new ArrayList<>(); Info info = new Info(); info.setFormId("B0001"); info.setAmount(new BigDecimal(100)); billBatchlist.add(info); info = new Info(); info.setFormId("B0002"); info.setAmount(new BigDecimal(80)); billBatchlist.add(info); info = new Info(); info.setFormId("B0003"); info.setAmount(new BigDecimal(120)); billBatchlist.add(info); List payVerifyControlList = new ArrayList<>(); Info info1 = new Info(); info1.setFormId("PRE0001"); info1.setAmount(new BigDecimal(110)); payVerifyControlList.add(info1); info1 = new Info(); info1.setFormId("PRE0002"); info1.setAmount(new BigDecimal(190)); payVerifyControlList.add(info1); billBatchlist.forEach(a -> { System.out.println("BillFormId:" + a.formId + ",Amount:" + a.getAmount()); }); payVerifyControlList.forEach(a -> { System.out.println("PreFormId:" + a.formId + ",Amount:" + a.getAmount()); }); System.out.println("=================================="); int i = 0, j = 0; BigDecimal preAmount = new BigDecimal(0); BigDecimal billAmount = new BigDecimal(0); while (i < billBatchlist.size() && j < payVerifyControlList.size()) { if (preAmount.compareTo(BigDecimal.ZERO) == 0) { preAmount = billBatchlist.get(i).amount; } if (billAmount.compareTo(BigDecimal.ZERO) == 0) { billAmount = payVerifyControlList.get(j).amount; } //当前核销金额 BigDecimal verifyAmount = new BigDecimal(0); if (preAmount.compareTo(billAmount) > -1) { verifyAmount = billAmount; // pre剩余 preAmount = preAmount.subtract(verifyAmount); billAmount = new BigDecimal(0); } else { verifyAmount = preAmount; // bill剩余 billAmount = billAmount.subtract(verifyAmount); preAmount = new BigDecimal(0); } System.out.println("当前核销金额:" + verifyAmount + ",preAmount剩余:" + preAmount + ",billAmount剩余:" + billAmount); //大于等于0 if (preAmount.compareTo(BigDecimal.ZERO) == 0) { i++; } if (billAmount.compareTo(BigDecimal.ZERO) == 0) { j++; } } }
打印结果:
BillFormId:B0001,Amount:100BillFormId:B0002,Amount:80BillFormId:B0003,Amount:120PreFormId:PRE0001,Amount:110PreFormId:PRE0002,Amount:190==================================当前核销金额:100,preAmount剩余:0,billAmount剩余:10当前核销金额:10,preAmount剩余:70,billAmount剩余:0当前核销金额:70,preAmount剩余:0,billAmount剩余:120当前核销金额:120,preAmount剩余:0,billAmount剩余:0
关键词:
世界观热点:Java 双指针项目中的实际应用
全球新动态:84.范围for
巴西媒体人:全球对美国货币政策不满与日俱增 美元国际吸引力大幅降低
热消息:【新华解读】2022年保险业风险可控 未来应提升自身“造血”能力
国产AI和ChatGPT的差距有多大?李彦宏:有可能能赶上 也有可能一直追不上 焦点资讯
为什么火锅里的金针菇叫“明天见”?了解一下几丁质 天天热头条
对标ChatGPT!李彦宏:文心一言已完成4次技术升级 大模型推理性能已提升近10倍
世界观察:vscode使用git推送代码
MarkDown学习
基于YOLOv4的目标检测系统(附MATLAB代码+GUI实现)
Java练手项目(尚硅谷的),不涉及框架,数据库等。
世界短讯!Python教程_编程入门自学教程_菜鸟教程-免费教程分享
华众车载(06830)获北汽奔驰新能源车产品订单 预测销售额约9亿元|世界今日讯
史上最大员工福利!京东60亿建4000套员工公寓:可拎包入住 租金约为市场价格一半 环球即时
环球聚焦:00后幼师回应唱挖呀挖呀走红:揭秘为何“挖呀挖呀”能魔性洗脑全网
人民网评婆孙平移插队、表情包恶搞事件:不能滑向违法边缘 世界视点
全球快讯:浙江省政协党组成员、副主席朱从玖接受审查调查
商场举办躺平大赛3人分万元奖金,160多人报名参加
天天微资讯!劳斯莱斯史上最畅的销敞篷车没了 劳斯莱斯耀影正式停产
安徽一地惊现“海市蜃楼”奇观:持续约7分钟!
山东招远文旅局出奇招:单手拿起50斤金砖就送 价值1000多万-环球新视野
阵容完备——全新路虎·卫士130|CAR REVIEWS
记录-对象有哪些继承方式_信息
天天实时:ios app真机测试到上架App Store详细教程-必看
ubuntu编译kernel
三、词法分析
焦点速讯:五一期间 市公交公司安全运送乘客48万余人次
微信2023五一大数据来了!十大景区花钱榜公布 你花了多少钱? 观焦点
《流浪地球》剧情成真!科学家首次观测到一颗行星被恒星吞噬 世界热门
每日观点:今年还有调休假:中秋国庆假期后要连上7天班!
全球新消息丨最新研究:外星人或利用手机信号绘制出地球地图
震撼!恒星吞噬行星全过程首次曝光 地球:我命休矣?
博客开通
【解决方法】解决锐捷EVE模拟器无法弹出选择CRT接管命令行和命令行 天天简讯
用例管理工具 禅道-当前速看
Web前端已死?别带节奏了,说白了就是“卷”
林志玲出席活动被问二胎做出回应称自己不会要二胎,一个就满足了
财政部:2023年中央财政继续支持实施并启动新的农村综合性改革试点试验
世界快看:电动车降价彻底无望?今日电池级碳酸锂涨价5000元/吨
骁龙8+待机47.9天如何实现?小米平板6系列“深度休眠”官方揭秘
【世界新视野】多样性算力推委会正式成立,透露哪些重要信号?
五一假期,江门水路发送旅客超15万人次 世界快报
TypeScript 学习笔记 — 模板字符串和类型体操(十五) 当前头条
天天日报丨(转载)性能测试应该怎么做?
在Zynq平台上使用uCOS [原创www.cnblogs.com/helesheng]-天天热文
ChatExcel?|焦点信息
全球讯息:【手记】翻新显卡安装驱动程序
信息:2022年跨境电商市场规模15.7万亿元
【新华500】新华500指数(989001)4日收涨0.05% 环球即时
新华社权威快报丨2023年“五一”假期全国营业性客运量合计26971.6万人次
【环球时快讯】6499元买吗?雷军晒小米13 Ultra限量定制色真机上手图:网友大呼背刺
家用强力灭蚊!雅格充电电蚊拍10.9元起狂促_报资讯
世界聚焦:“五一”假期日均125.3万人次出入境
报道:我设计了个【方案】:比redis好10倍的kv库【一统kv】
Apache Pulsar 在火山引擎 EMR 的集成与场景
PA 2022 部分题解_环球热门
ios app真机测试到上架App Store详细教程-必看 快播
奈雪五一小长假订单同比上涨120% 部分门店涨幅超800%|热资讯
【天天热闻】五一18人预付9600元订民宿遭毁约!青岛市监局立案调查
环球视讯!4月百城二手住宅价格跌幅扩大:挂牌量持续走高 房价走势承压
Hadoop运行集群搭建-世界速读
golang基础知识 环球快讯
聚焦:用手机号码归属地 API 开发的应用推荐
环球快资讯丨来了乌鲁木齐,相当于去了中东石油富豪区消费?
全面看齐新7系!宝马新一代5系G60外观、内饰首度公开亮相:发光双肾抢眼-全球速讯
门密码锁怎么加入指纹?第一次使用记住这4点 环球讯息
让Visual Studio用上chatgpt
【解决方法】白嫖利用WPS自带C盘清理大师,清理C盘空间,自测清理19.5G空间,太感人了! 当前快播
Linux安装部署Redis(超级详细)-全球看热讯
博安生物(6955.HK):地舒单抗注射液国际3期临床试验完成首例受试者入组|今日视点
纤薄身材也能满血发挥!耕升RTX 4070踏雪评测:2K游戏通吃的高颜值显卡 环球关注
购燃油车就送粤A蓝牌!广汽集团在广州推限时购车补贴
看不下去AI胡说八道 英伟达出手给大模型安了个“护栏”
世界通讯!鼠目寸光是什么生肖_鼠目寸光的意思及造句
世界微资讯!热门的常用 API 大全分享
观速讯丨Spring AOP官方文档学习笔记(三)之基于xml的Spring AOP
播报:常见未授权访问漏洞汇总
每日播报!AD主辅域控切换-辅域控制器升级为主域控制器-详细操作
Excel文件根据自定义模板生成标签或数据报表
2023山东东营市广饶县事业单位招聘面试通知书领取通知
u18包括18岁吗?足球比赛中的u系列是什么意思?
英雄联盟150位英雄名字是什么?2022lpl夏季赛赛程表
iphone手机看电子书能用什么格式?iphone电子书APP推荐
NBA 2K14存档文件在哪里?nba2k14电脑版键盘操作
十全食美多种零食 奥利奥大礼包39元1.6斤再发车
不涨价!小米13 Ultra限量定制色上架:16+512GB售价6499元
仙气飘飘 洛阳90后女生穿汉服开公交:展示传统文化之美
观察:发布整整10年后:第一代iPad Air被正式抛弃
刺客信条系列中哪个最好玩?刺客信条奥德赛选男还是女?
阿迪达斯官网买的产品是正品吗?阿迪达斯和耐克是什么关系?
承重墙允许开洞最大尺寸是多少?承重墙拆了要承担什么责任?
安陵容知道是宝鹃害她的吗?甄嬛传当年火到什么程度?
广交会里的“大食物观” 食品企业坚持科技创新|全球今日报
只种一颗杨梅树会结果吗?宏宝莱杨梅冰多少钱一袋?
怎么改蚂蚁庄园小鸡的名字?蚂蚁森林如何修改自己的昵称?
天天微速讯:学系统集成项目管理工程师(中项)系列17a_范围管理(上)
使用python查看五黄及罗猴
世界百事通!【访问者设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
THE PLANETS MERCURY -环境变量的设置提权以及SETENV的理解
嵌入式测试手册——基于NXP iMX6ULL开发板(2)