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谢谢你提醒我