JavaマスターJavaプログラムサンプル集数値処理のサンプル → 金種の枚数を計算する

金種の枚数を計算する

ある金額を支払うのに必要なお金の種類と枚数を調べるための プログラムサンプルです。

配列YEN_TYPESには、日本円の種類(1万円、5000円、・・・、1円)が定義されています。 もし2000円札も含めて計算したい場合は、この配列の5000の次の要素に2000を加えるか、 または、2000を含む新しい配列を作り、getYenCountメソッドの第2引数に渡します。

samples/number/KinshuSample.java - Eclipse SDK
package samples.number;

public class KinshuSample {
  public static final int[] YEN_TYPES = {
    10000,5000,1000,500,100,50,10,5,1
  };
  public static int[] getYenCount(int yen, int[] yentype) {
    int[] count = new int[yentype.length];
    for (int i = 0; i < yentype.length; i++) {
      while (yen >= yentype[i]) {
        yen -= yentype[i];
        count[i]++;
      }
    }
    return count;
  }
  public static void main(String[] args) {
    int yen = 87654;
    int[] count = getYenCount(yen, YEN_TYPES);
    for (int i = 0; i < YEN_TYPES.length; i++) {
      System.out.println(YEN_TYPES[i"円\t" + count[i"枚");
    }
  }
}

実行結果は以下のようになります。

コマンド プロンプト

C:\JavaMaster\bin>java -cp . samples.number.KinshuSample 
10000円    8枚
5000円    1枚
1000円    2枚
500円    1枚
100円    1枚
50円    1枚
10円    0枚
5円    0枚
1円    4枚