アイテムを購入した後にコインを返す関数を作成しようとしています。私は完成しないんだけど、下のコードが返されるべき四半期、ダイム、硬貨やペニーの数を見つけるための試みである:Javaの資金から現金を返す関数を作成する
public String getChange(VendingMachine vendingMachine, Change change) {
double dispensedQuarters = 0;
double dispensedDimes = 0;
double dispensedNickels = 0;
double dispensedPennies = 0;
double d = Double.parseDouble(vendingMachine.getFunds());
if (d % .25 == 0) {
dispensedQuarters = d/.25;
} else if (d % .25 != 0) {
double remainder = d % .25;
d = d - remainder;
dispensedQuarters = d/.25;
if (remainder % .10 == 0) {
dispensedDimes = remainder/.10;
} else if (remainder % .05 == 0) {
dispensedNickels = remainder/.05;
} else if (remainder % .01 == 0) {
dispensedPennies = remainder/.01;
} else {
dispensedDimes = dispensedNickels = dispensedPennies = 0;
}
} else if (d % .10 == 0) {
dispensedDimes = d/.10;
} else if (d % .05 == 0) {
dispensedNickels = d/.10;
}
}
することができます関数を作成するよりコンパクトな方法はありますニッチ、ニックル、ペニーの数は返されますか?
実際には、通貨を表すために浮動小数点値を使用するべきではありません。整数を使用します。整数は100の倍数ではなく、 'セント'の部分です。 –
ありがとう、私はそれをメモします。 – statsguyz
マシンは何を返すべきですか?最小のコイン数ですか? –