import java.io.*; class gg094 { public static void main(String[] args) { int [] kouka = { 10, 50, 100, 500}; // 硬貨の金額 int [] hanbaiki = { 0, 0, 0, 0}; // 自販機ないの硬貨の枚数 int [] tounyuKin = { 0, 0, 0, 0}; // 投入された硬貨の枚数 int [] maisu = { 0, 0, 0, 0}; // お釣の硬貨の枚数 int tounyuKinGoukei =0; int oturi = 0; // 自販機の現在のコインの枚数を尋ねる try { BufferedReader xin = new BufferedReader(new InputStreamReader(System.in)); for(int i=3; i>=0; i--){ System.out.println("自販機内の" + kouka[i] + "玉の枚数は"); String xmoji = xin.readLine(); hanbaiki[i] = Integer.parseInt(xmoji); } // 投入コインの枚数を尋ねる for(int i=3; i>=0; i--){ System.out.println("お客さんが投入する" + kouka[i] + "玉の枚数は"); tounyuKin[i] = Integer.parseInt(xin.readLine()); } }catch (Exception ie) { System.out.println(ie); } // 投入された合計金額を求める for(int i=3; i>=0; i--){ tounyuKinGoukei = tounyuKinGoukei + kouka[i] * tounyuKin[i]; } System.out.println("投入された金額は " + tounyuKinGoukei + " 円"); // 120円を使ったあとのお釣りを計算 if(tounyuKinGoukei >= 120 ){ // 自販機内のコインの枚数を計算 for(int i=3; i>=0; i--){ hanbaiki[i] = hanbaiki[i] + tounyuKin[i]; System.out.println("自販機内の現在の" + kouka[i] + "玉は," + hanbaiki[i] + "個"); } System.out.println(); // お釣を自販機内のコインで割り当てる oturi = tounyuKinGoukei - 120; System.out.println("お釣は " + oturi + " 円"); int j = 3; while((oturi > 0) && (j >= 0)){ // お釣割り当てループ while((oturi >= kouka[j])&&(hanbaiki[j] >0)) { // そのコインが何枚あるかのループ oturi = oturi - kouka[j]; hanbaiki[j] = hanbaiki[j] -1; maisu[j] = maisu[j] + 1; } j = j -1; } // 結果を表示 if (oturi == 0){ // 可能なら,お釣のコインの枚数 for(int i=3; i>=0; i--){ System.out.println(" お釣の " + kouka[i] + " 玉:" + maisu[i] + " 個"); } }else{ // つり銭の手配が不可能なら,"つり銭不足" System.out.println("つり銭不足"); // 回復処理 for(int i=3; i>=0; i--){ hanbaiki[i] = hanbaiki[i] + maisu[i] - tounyuKin[i]; maisu[i] = 0; } for(int i=3; i>=0; i--){ System.out.println("自販機内の現在の" + kouka[i] + "玉は," + hanbaiki[i] + "個"); } System.out.println(); } }else{ //入金が120円未満なら,"入金不足" System.out.println("入金不足"); } } }