2010年1月16日土曜日

生年(西暦)を入力し年齢を表示するプログラムをif文と例外処理(try-catch)を加えて記述し直してみる。

using System;


class MainClass
{
    static void Main()
    {
        /* 文字列をint型に変換できない場合等のエラーを
         * 検出できるように例外処理を記述 */
        try
        {
            // 表示
            Console.Write("生年(西暦)を入力してください>>");


            // 文字列を読み込み数値に変換してageに代入
            int year = int.Parse(Console.ReadLine());


            // ageがマイナスになる場合は入力ミス
            if (DateTime.Today.Year - year < 0)
            {
                Console.WriteLine("入力をを確認してください。");
            }
            else
            {
                // 年齢を表示
                Console.WriteLine
                    ("あなたは現在{0}歳、あるいは今年中に{0}歳になります。",
                    DateTime.Today.Year - year);
            }
        }
        catch (Exception error)
        {
            // 例外の原因の詳細情報を表示
            Console.WriteLine(error.Message);
        }
    }
}

0 コメント:

コメントを投稿