用java 完成整钱兑零钱程序,要求:输入一个double值,代表总零钱数,输出清单,列出等价的货

用java 完成整钱兑零钱程序,要求:输入一个double值,代表总零钱数,输出清单,列出等价的货,第1张

public static void splitMoney(Double unSplitMoney) {

    if (unSplitMoney <= 0) {

        System.out.println("请输入正确的金额.")

    }

    int unSplitMoneyCents = (int) (unSplitMoney * 100)

    int[] splitArray = {100 * 100, 50 * 100, 20 * 100, 10 * 100, 5 * 100, 2 * 100, 1 * 100, 5 * 10, 2 * 10, 1 * 10, 5, 2, 1}

    String[] splitArrayName = {"100元", "50元", "20元", "10元", "5元", "2元", "1元", "5角", "2角", "1角", "5分", "2分", "1分"}

    System.out.println("您的输入金额为:" + unSplitMoney + "元,可以被兑换为:")

    for (int i = 0 i < splitArray.length && unSplitMoneyCents > 0 i++) {

        if (unSplitMoneyCents >= splitArray[i]) {

            System.out.print(unSplitMoneyCents / splitArray[i] + "个" + splitArrayName[i]+",")

            unSplitMoneyCents = unSplitMoneyCents % splitArray[i]

        }

    }

}

测试用例:

public static void main(String[] args)  {

    splitMoney(128.32)

}

输出结果:

您的输入金额为:128.32元,可以被兑换为:

1个100元,1个20元,1个5元,1个2元,1个1元,1个2角,1个1角,1个2分,

Process finished with exit code 0

我写过两次订单结算,不过都是asp.net下的,但是应该差不多吧.订单结算是最后的步骤,提交订单之后需要做结算,实际上就是收钱嘛.

传统来讲此时需要一个支付接口,比如说支付宝财付通快钱 网银在线之类的,他们提供接口,我们按照他们说明文档来实现就好.重要的是交易记录哦!!提交订单后需要交易日志(不能从字面意义上来理解"交易",实际上跟别人讨价还价也是交易的一种不是嘛.)转到接口前需要日志,接口返回信息需要日志(表结构差不多啦)这些日志,方便以后退款或者查看状态使用

不传统来讲除支付接口外,要考虑购物网站个人钱包支付或者线下汇款之类的 建议使用策略模式

额 不知道说啥了.缕一缕在纸上构思下就差不多 但一定要考虑好安全性


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7965312.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存