解答例 - j1.lesson06.MoneyBox

package j1.lesson06;

import java.io.*;

/**
 * 課題0602 - 解答例.
 @author s.arakawa
 @version $Id: MoneyBox_java.rps,v 1.1 2006/03/06 12:56:15 java2005 Exp $
 */
public class MoneyBox {

    /**
     * 一般的な日本銀行券の額面(1000,5000,10000の3種類)を繰り返し入力させ、
     * それぞれの枚数と合計金額を表示するプログラム。
     @param args 無視される
     @throws IOException 入力時に例外が発生した場合
     */
    public static void main(String[] argsthrows IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        // face: 入力されたお札の種類を保存
        int face;
        
        // count1000: 1000 円札の枚数を保存
        int count1000 = 0;
        
        // count5000: 5000 円札の枚数を保存
        int count5000 = 0;

        // count10000: 10000 円札の枚数を保存
        int count10000 = 0;

        // 最初の入力
        System.out.print("額面を入力:");
        face = Integer.parseInt(reader.readLine());
        
        // 額面が0以外のときは繰り返す
        while (face != 0) {
            
            // 額面でswitch
            switch (face) {
                
                // 1000円札であった場合
                case 1000:
                    count1000++;
                    break;
                    
                // 5000円札であった場合
                case 5000:
                    count5000++;
                    break;
                
                // 10000円札であった場合
                case 10000:
                    count10000++;
                    break;
                
                // それ以外
                default:
                    System.out.println("お札ではありません");
            }

            // 次の入力
            System.out.print("額面を入力:");
            face = Integer.parseInt(reader.readLine());
        }
        
        System.out.println(" 1000円札の数:" + count1000);
        System.out.println(" 5000円札の数:" + count5000);
        System.out.println("10000円札の数:" + count10000);
        int total = count1000 * 1000 + count5000 * 5000 + count10000 * 10000;
        System.out.println("合計は" + total + "円");
    }
}