【发布时间】:2014-01-17 01:23:27
【问题描述】:
我的程序应该收到大量的钱,并将其转换为找零,但是当它收到0时,它应该停止请求输入并停止程序。
我所有的数学都是正确的,我只是在重复询问数字时遇到了问题。这是我目前拥有的:
public class Coins {
public static int quarters;
public static int dimes;
public static int nickels;
public static int pennies;
public static int Quarters(int TotalCoins) {
quarters = (int) (TotalCoins / 25);
TotalCoins %= 25;
return quarters;
}
public static int Dimes(int TotalCoins){
TotalCoins -= (quarters * 25);
dimes = (int) (TotalCoins / 10);
TotalCoins %= 10;
return dimes;
}
public static int Nickels(int TotalCoins){
TotalCoins -= (dimes * 10) + (quarters * 25);
nickels = (int) (TotalCoins / 5);
TotalCoins %= 5;
return nickels;
}
public static int Pennies(int TotalCoins){
TotalCoins -= (nickels * 5 ) + (dimes * 10 ) + (quarters * 25);
pennies = (int) (TotalCoins / 1);
TotalCoins %= 1;
return pennies;
}
}
这是我的测试类(我很确定我的主要问题是):
public class CoinsTester {
public static void main(String[] args) {
Scanner kybd = new Scanner(System.in);
if (kybd.nextInt() != 0){
int changeMoney = kybd.nextInt();
System.out.println("Quarters = " + Coins.Quarters(changeMoney) + "\nDimes = " + Coins.Dimes(changeMoney) + "\nNickels = " + Coins.Nickels(changeMoney) + "\nPennies = " + Coins.Pennies(changeMoney));
}
}
}
任何帮助都会很棒。
编辑:有人告诉我,在一堂课上做整件事可能会更容易,如果是这样,那么任何这样做的建议也会很好。谢谢!!!
编辑:我忘了提到我应该能够输入所有数字,然后显示所有数字的输出。
【问题讨论】: