我正在创建一个程序来评估输入的数字,例如我输入的5该函数应该能够返回数字,这意味着:
5 => 500
4 => 400
6 => 600
10 => 1000 and so on.
这是我迄今为止所做的。
public int NumberEval(int theNumber)
{
int theResult = 0;
switch (theNumber)
{
case 0:
theResult = 1;
break;
case 1:
theResult = 1;
break;
case 2:
theResult = 200;
break;
case 3:
theResult = 300;
break;
case 4:
theResult = 400;
break;
case 5:
theResult = 500;
break;
case 6:
theResult = 600;
break;
case 7:
theResult = 700;
break;
case 8:
theResult = 800;
break;
case 9:
theResult = 900;
break;
case 10:
theResult = 1000;
break;
case 11:
theResult = 1100;
break;
case 12:
theResult = 1200;
break;
case 13:
theResult = 1300;
break;
case 14:
theResult = 1400;
break;
case 15:
theResult = 1500;
break;
case 16:
theResult = 1600;
break;
case 17:
theResult = 1700;
break;
case 18:
theResult = 1800;
break;
case 19:
theResult = 1900;
break;
case 20:
theResult = 2000;
break;
default:
break;
}
return theResult;
}
我的问题是,如果我输入50然后它应该是5000.有没有办法快捷方法,因为我不想手动编码switch语句中的每个项目?或者甚至是这个数学方程?
答案 0 :(得分:3)
这不是输入* 100的模式吗?我认为你可以编写一个接受输入的方法并将其乘以100.但是有一些需要注意的是精确截断,而输入足够大以溢出整数精度。
答案 1 :(得分:2)
为什么不与100
进行简单的乘法运算,如下所示:
public int NumberEval(int theNumber)
{
if(theNumber == 0 || theNumber == 1)
return 1;
else
return theNumber * 100;
}
这是working example给你的。您可以简化这样的语句:
return theNumber == 0 || theNumber == 1 ? 1 : theNumber * 100;