C#入门经典第五版之变量与表达式编码题训练

问题:编写一个控制台应用程序,要求用户输入4个int值,并显示它们的乘积。提示:可以使用Convert.ToDouble()命令,把用户在控制台上输入的数转换为double, 以此类推,转换成int命令为Convert.ToInt32():

由于用户输入可能不为数字,因此首先需要编写一个私有方法用来判断输入是否为数字,这里可以使用正则表达式也可以编写如下代码, 方法为IsNumber(string inputString):

 1         private bool IsNumber(string inputString)

 2         {

 3             bool isNum = true;

 4             for (int i = 0; i < inputString.Length; i++)

 5             {

 6                 if (!Char.IsNumber(inputString[i]))

 7                 {

 8                     isNum = false;

 9                     return isNum;

10                 }

11             }

12             return isNum;

13         }
View Code

由于需要输入4个值,考虑到重复代码比较多,可以将输入部分单独作为一段私有方法,让其返回int值,方法为InputString():

 1         private int InputString()

 2         {

 3             bool isNum;

 4             string test;

 5             do

 6             {

 7                 Console.WriteLine("Please enter the int num: ");

 8                 test = Console.ReadLine();

 9                 isNum = IsNumber(test);

10             } while (!isNum);

11             int num = Convert.ToInt32(test);

12             return num;

13         }
View Code

最后,在完成的主体代码中,使用for循环多次调用InputString(), 并将返回的值加入到List<int>中,最终即可完成题目的要求:

 1         public void ConsoleWithMultiplication()

 2         {

 3             List<int> intNum = new List<int>();

 4             for (int i = 0; i < 4; i++)

 5             {

 6                 intNum.Add(InputString());

 7             }

 8             int mul = intNum[0] * intNum[1] * intNum[2] * intNum[3];

 9             Console.WriteLine("{0} * {1} * {2} * {3} = {4}", intNum[0], intNum[1], intNum[2], intNum[3], mul);

10         }
View Code

注意:

1. 由于前面两段代码仅限当前类使用,因此将其设为private,而非public.

2. 这三段代码可写在单独的类中,如类名为:Chapter3, 在Program类的Main()方法中即可先实例化Chapter3做如下调用:

1 Chapter3 ex = new Chapter3 ();

2 ex.ConsoleWithMultiplication();            
View Code

 

你可能感兴趣的:(表达式)