開発環境
- 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 コメント:
コメントを投稿