【両替アプリ】のサンプルコード

皆さんこんにちは。ロケットマンです。本日はJAVAによる【両替アプリ】のサンプルコードを紹介していきたいと思います。指定した金額から、金種を割り出します。

例えば、両替金額が15,000円をコンソールに入力したならば、

10,000円:1枚
5,000円:1枚
1,000円:0枚
500円:0枚
100円:0枚
50円:0枚
5円:0枚
1円:0枚 

と表示されるような機能を作ります。
他の機能としては

・0円をコンソールに入力した場合、プログラムを終了。
・文字列が入力された場合は、”数字を入力してください”と表示し、プログラムをやり直す。

というものを実装していきます。

では早速コードを紹介していきたいと思います。

import java.util.Scanner;
class ryougae{
 //金種を格納した配列。後にgetYenCount()の第2引数、yentypeとして使用
 public static final int[] YEN_TYPES={10000,5000,1000,500,100,50,10,5,1};
 //  両替した内訳を格納
 public static int[] getYenCount(int yen,int[] yentype){
   //YEN_TYPESの中の10,000円から1円の金種分を数えて、countに格納
   int[] count=new int[yentype.length];
   for(int i=0; i<yentype.length;i++){
     //例えば、18000円から10000円を引いて、8000円になると繰り返しをやめる。
     while(yen>=yentype[i]){
       yen=yen-yentype[i];
       //count[0]には10000円の両替枚数が格納されている
       count[i]++;
     }
   }
   return count;
 }
 public static void main (String[] args){
   int yen;
   int inputednumber=0;
   for(int a=0;a!=1;a++){
     try{
       System.out.println("両替したい金額を入力してください");
       Scanner input =new Scanner(System.in);
       //コンソールから入力を受けた数字をinputednumberに格納
       inputednumber =input.nextInt();
       yen = inputednumber;
       }
       //文字列が入力された時などの対応
     catch(Exception e){
         System.out.println("***エラーです***");
         System.out.println("数字を入力してください");
         System.out.println("");
         a--;
         continue;
       }
   //配列countに各金種の両替内訳枚数が格納されている
   int[] count=getYenCount(yen, YEN_TYPES);
   for(int i=0; i<YEN_TYPES.length;i++){
     System.out.println(YEN_TYPES[i]+"円\t"+count[i]+"枚");
   }
   a--;
   //0が入力されると、プログラムを終了する
   if(yen==0){
     System.out.println("終わり");
     break;
     }
   }
 }
}

いかがだったでしょうか。是非コンパイルして実際に試してみてください。
保存の際は「ryougae.java」で保存してください。
次回はこのコードを細かく説明していきたいと思います。

この記事が気に入ったらサポートをしてみませんか?