private int dollar1、cent50、cent10、cent5;
private void calDenomination() {
int myCoins = 1250;
while(myCoins >= 100) {
myCoins -= 100;
dollar1 += 1;
}
while(myCoins >= 50) {
myCoins -= 50;
cent50 += 1;
}
while(myCoins >= 10) {
myCoins -= 10;
cent10 += 1;
}
while(myCoins >= 5) {
myCoins -= 5;
cent5 += 1;
}
}
これを行うためのより短い方法はありますか?整数コインに含まれる金種コインの数(セント)を確認するプログラムを作成しようとしています。
プログラムは、より高い価値のコインをできるだけ多く提供することを目的とする必要があり、合計コインは常に5で割り切れる(1250%5 = 0)
配列(/および[])を使用した整数除算の丸めは、これの鍵です。coin [0]はドルを表し、coin [1]は50cなどとします。次に、coins [0] = myCoins / 100を使用して、以下に示すようにドルの正確な数などを決定します(これらの変数はスコープ外で参照できないことに注意してください)すべてのSystem.out.printf()行を削除することもできます):
public class Example
{
public static void main(String[] args) {
calDenomination(1250);
}
private static void calDenomination(int myCoins) {
System.out.printf("%d cents becomes...\n", myCoins);
int[] coins;
coins = new int [4];
coins[0] = 1250/100;
System.out.printf("%d : Dollar coins\n", coins[0]);
myCoins = myCoins - coins[0] * 100;
coins[1] = myCoins/50;
System.out.printf("%d : 50c coins\n", coins[1]);
myCoins = myCoins - coins[1] * 50;
coins[2] = myCoins/10;
System.out.printf("%d : 10c coins\n", coins[2]);
myCoins = myCoins - coins[2] * 10;
coins[3] = myCoins/5;
System.out.printf("%d : 5c coins", coins[3]);
myCoins = myCoins - coins[3] * 5;
}
}
または
public class Example
{
public static void main(String[] args) {
calDenomination(1250);
}
private static void calDenomination(int myCoins) {
int[] coins;
coins = new int [4];
coins[0] = 1250/100;
myCoins = myCoins - coins[0] * 100;
coins[1] = myCoins/50;
myCoins = myCoins - coins[1] * 50;
coins[2] = myCoins/10;
myCoins = myCoins - coins[2] * 10;
coins[3] = myCoins/5;
myCoins = myCoins - coins[3] * 5;
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加