所以我刚刚开始编程,我开始使用c#。在我正在阅读的书中(学习c#3.0),其中一个练习就是这个。
练习5-2。创建一个程序,提示用户输入,接受一个整数,然后 评估输入是零,奇数或偶数,10的倍数,还是太大(更多 通过使用多个if语句级别而不是100)。
我设法做到这一点,但下一个练习是
练习5-3。重写练习5-2中的程序来做同样的事情 使用switch语句。
我理解switch语句是如何工作的,但是,我不知道如果用户输入数字是奇数/偶数,10的倍数等等,并且不使用if语句,我不知道如何计算。谢谢你的帮助。
答案 0 :(得分:1)
你可以这样做:
int input = ...
switch (input)
{
case 0:
Console.WriteLine("Zero");
default;
default:
switch (input < 100)
{
case true:
switch (Math.Abs(input) % 10)
{
case 0:
Console.WriteLine("Multiple of 10");
break;
case 2:
case 4:
case 6:
case 8:
Console.WriteLine("Even");
break;
default:
Console.WriteLine("Odd");
break;
}
break;
default:
Console.WriteLine("Too large");
break;
}
break;
}
我不认为你可以用C#中的单个switch
来做到这一点 - 除非你把它变得如此庞大以至于从0到100的每个数字来计算。您可以使用单个Select
statement in VB.NET来执行此操作,该操作类似于C#switch
但具有明显不同的语义。