如何显示10s的数量?仅显示20秒的数量

时间:2018-03-12 14:25:39

标签: java

我有一项任务,我必须创建一种方法,我必须从客户那里收钱,然后根据价格给他们换回。目前令人沮丧的情况是,即使在我要求数十个之后,它仍然只显示20个数。例如,如果一件物品花费5美元而有人给我155美元,那么变化将是150.机器应该返回该变化包含七个20秒和一个10.但每当我要求10s的数量时,我会回来7.有人可以请帮我解决这个问题。你能告诉我一个方法来做5s 1s 0.75cent硬币0.35cent硬币和0.1%硬币。 我目前的代码是:

public class change {
    static int twentys;
    static int numtwen;
    static int tens;
    static int numten;
    static int fives;
    static int numfiv;
    static int ones;
    static int numone;
    static int scc;
    static int numscc;
    static int tcc;
    static int numtcc;
    static int occ;
    static int numocc;

    public static double result(double salesTotal, double customerPayment) {
        System.out.println("How much does it cost?");
        double price = IO.readDouble();
        salesTotal = price;
        System.out.println("How much do you have?");
        double money = IO.readDouble();
        customerPayment = money;
        double change = money - price;

        if (change > 0.34 && change / 20 >= 1) {
            numtwen = (int) change / 20;
            change = numtwen % change;
            numten = (int) change / 10;
            change = numten % change;
            numfiv = (int) change / 5;
            change = numfiv % change;
        }

        return numten;
    }

    public static void main(String[] args) {
        double a = result(2, 5);
        System.out.println(numtwen);

    }
}

1 个答案:

答案 0 :(得分:0)

change = numtwen % change;错了。

change = change % 20;就是你想要的。 同样适用于其他商。

小心浮点不精确。编程中的浮点值不能很好地表示货币。