首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java收银机:从不同的子单元中获取变化

Java收银机:从不同的子单元中获取变化
EN

Stack Overflow用户
提问于 2014-01-29 07:30:21
回答 1查看 4K关注 0票数 0

自学Java时,我遇到了一个示例问题,该问题要求我创建一个收银机程序,该程序将计算返回给客户的美元、镍币、25美分、迪姆和便士的总零钱。

我计算出了用户输入,但获得正确的子单元是棘手的一部分。例如:如果成本是4美元,投标金额是5美元,那么很容易编写返回1美元的代码行,但我遇到的问题是将所需的硬币和便士放在正确的字段中。ex2:总成本$4.62,投标:$5,变化:$0.38

代码语言:javascript
复制
            System.out.print("Enter the sale amount: $   ");
    double sale = user.nextDouble();
    System.out.print("Enter the amount tendered by customer: $   ");
    double tendered = user.nextDouble();
    double totalChange = (tendered - sale);
    System.out.printf("TOTAL CHANGE: $  %.2f\n", totalChange);
    dollars = totalChange/1;
    quarters = totalChange/25;
    dimes = totalChange/10;
    nickels = totalChange/5;
    pennies = totalChange/1;




    System.out.printf("DOLLARS: %.2f\n", dollars);
    System.out.printf("QUARTERS: %.2f\n", quarters);
    System.out.printf("DIMES: %.2f\n", dimes);
    System.out.printf("NICKELS: %.2f\n", nickels);
    System.out.printf("PENNIES: %.2f\n", pennies);

我不需要答案(因为我想自学自学),只需要一些关于如何做到这一点的建议。

编辑:这个算法我做错了什么:

代码语言:javascript
复制
            dollars = totalChange/1;
    dollars = (int)dollars;
    dl = totalChange % 1;

    quarters = dl/0.25;
    q = quarters % 0.25;
    quarters = (int)quarters;

    dimes = q / .10;
    d = dimes % .10;



    nickels = d / .5;
    n = nickels % .5;

    pennies = n / .1;
    n = pennies/ .1;
EN

回答 1

Stack Overflow用户

发布于 2014-01-29 07:33:46

你在正确的轨道上。在确定变化中的最大整数美元数后,减去它。然后从剩下的硬币中确定你能得到的最大硬币数。对每一个重复上述步骤。这和你作为人类自己做的是一样的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21419150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档