開発環境
- Microsoft Windows 7 Home Premium (OS)
- Microsoft Visual C# 2010 Express Edition (IDE)
- 言語: C#
『初めてのC# 第2版』(Jesse Liberty+Brian MacDonald著、日向俊二訳、オライリー・ジャパン、2006年、ISBN978-487311-294-7)の 第5章(実行制御)5.5(練習問題)、練習5-2を解いてみる。
練習5-2.
if文
コード
using System; namespace Sample { class Tester { public void Run() { while (true) { string msg; Console.Write("数値を入力: "); string str = Console.ReadLine(); if (str == "") { break; } int n = Convert.ToInt32(str); if (n >= 100) { msg = "大きすぎる値"; } else if (n % 10 == 0) { msg = "10の倍数"; } else if (n % 2 == 0) { msg = "偶数"; } else if (n % 2 == 1) { msg = "奇数"; } else { msg = "?"; } Console.WriteLine(msg); } } static void Main() { Tester t = new Tester(); t.Run(); } } }
入出力結果(Console Window)
数値を入力: 1000 大きすぎる値 数値を入力: 100 大きすぎる値 数値を入力: 98 偶数 数値を入力: 97 奇数 数値を入力: 96 偶数 数値を入力: 50 10の倍数 数値を入力: 49 奇数 数値を入力: 48 偶数 数値を入力: 5 奇数 数値を入力: 2 偶数 数値を入力: 続行するには何かキーを押してください . . .
switch文
コード
using System; namespace Sample { class Tester { enum Conditions { big, multiply, even, odd, }; public void Run() { while (true) { string msg; Console.Write("数値を入力: "); string str = Console.ReadLine(); if (str == "") { break; } int n = Convert.ToInt32(str); Conditions c = n >= 100 ? Conditions.big : n % 10 == 0 ? Conditions.multiply : n % 2 == 0 ? Conditions.even : Conditions.odd; switch (c) { case Conditions.big: msg = "大きすぎる値"; break; case Conditions.multiply: msg = "10の倍数"; break; case Conditions.even: msg = "偶数"; break; case Conditions.odd: msg = "奇数"; break; default: msg = "?"; break; } Console.WriteLine(msg); } } static void Main() { Tester t = new Tester(); t.Run(); } } }
入出力結果(Console Window)
数値を入力: 100 大きすぎる値 数値を入力: 99 奇数 数値を入力: 98 偶数 数値を入力: 90 10の倍数 数値を入力: 5 奇数 数値を入力: 4 偶数 数値を入力: 3 奇数 数値を入力: 2 偶数 数値を入力: 1 奇数 数値を入力: 続行するには何かキーを押してください . . .
0 コメント:
コメントを投稿