zoukankan      html  css  js  c++  java
  • 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
    作者:Ribbon 出处: http://www.cnblogs.com/Ribbon/ 本文版权归作者和博客园共有,欢迎转载。未经作者同意下,必须在文章页面明显标出原文链接及作者,否则保留追究法律责任的权利。 如果您认为这篇文章还不错或者有所收获,可以点击右下角的【推荐】按钮,因为你的支持是我继续写作,分享的最大动力!
  • 相关阅读:
    StringBuider 在什么条件下使用效率更高?
    Hibernate 与 Mybatis 如何共存?打破你的认知!
    牛逼!OpenJDK 源码要迁移到 GitHub 了!
    别在网上乱找代码了,找了一段代码突然爆了!!!
    8 条关于 Web 前端性能的优化建议
    关于 equals 和 hashCode,看这一篇真的够了!
    Python web之Python如何调用REST服务?
    ArcGIS Server如何发布gp服务
    ArcGIS坐标单位转换(米和度分秒之间是如何转换的?)
    ArcGIS MapServer和FeatureServer的区别
  • 原文地址:https://www.cnblogs.com/Ribbon/p/4485314.html
Copyright © 2011-2022 走看看