Java 如何制作以美分为单位分配硬币的功能?

Java 如何制作以美分为单位分配硬币的功能?,java,Java,对,所以我试着用机器分配的硬币数量来制造硬币分配器。现在我制作了一个以美分为单位的构造函数,然后我为分配的硬币制作了一个函数,但我不知道如何制作,以便分配最大的硬币 public class Coin { private int amount; public Coin(int change){ amount = change; } public void dispenseCoin(){ int quarter = 25;

对,所以我试着用机器分配的硬币数量来制造硬币分配器。现在我制作了一个以美分为单位的构造函数,然后我为分配的硬币制作了一个函数,但我不知道如何制作,以便分配最大的硬币

public class Coin {

    private int amount;

    public Coin(int change){
        amount = change;
    }

    public void dispenseCoin(){
        int quarter = 25;
        int dime = 10;
        int nickel = 5;
        int penny = 1;
    }

}

我会使用
enum
作为硬币值

然后,您可以通过两个简单的循环来解决它:

    import java.util.ArrayList;
    import java.util.List;

    enum CoinValue {
        QUARTER(25), DIME(10), NICKEL(5), PENNY(1);
        int value;
        CoinValue(int value) {
            this.value = value;
        }
        int getValue() {
            return value;
        }
    }

    public class Coin {

        private int amount;

        public Coin(int change){
            amount = change;
        }

        public List<CoinValue> dispenseCoin(){
            List<CoinValue> results = new ArrayList<CoinValue>();
            for (CoinValue coin : CoinValue.values()) {
                while (coin.getValue() <= amount) {
                    results.add(coin);
                    amount -= coin.getValue();
                }
            }
            return results;
        }

        public static void main(String[] args) {
            Coin c = new Coin(41);
            System.out.println(c.dispenseCoin());
        }
    }
import java.util.ArrayList;
导入java.util.List;
枚举值{
25美分、10美分、5美分、1便士;
int值;
CoinValue(int值){
这个值=值;
}
int getValue(){
返回值;
}
}
公共级硬币{
私人整数金额;
公众硬币(整数兑换){
金额=变动;
}
公众名单(){
列表结果=新建ArrayList();
for(CoinValue硬币:CoinValue.values()){

(coin.getValue())你不知道吗?如果没有电脑,你会怎么做呢?想想除数、余数、地板、模数、循环等等……我知道,与其尝试一些东西,为什么不看看stackoverflow的人会帮你做些家务呢。哟,我做到了,谢谢你对ramanSB,我完全忘记了模数lol谢谢你提醒我