zoukankan      html  css  js  c++  java
  • 小菜编程成长记(二 代码规范、重构)

    (续上篇) 
            大鸟说:“且先不说出题人的意思,单就你现在的代码,就有很多不足的地方需要改进。比如变量命名,你的命名就是ABCD,变量不带有任何具体含义,这是非常不规范的;判断分支,你这样的写法,意味着每个条件都要做判断,等于计算机做了三次无用功;数据输入有效性判断等,如果用户输入的是字符符号而不是数字怎么办?如果除数时,客户输入了0怎么办?这些都是可以改进的地方。”
      “哦,说得没错,这个我以前听老师说过,可是从来没有在意过,我马上改,改完再给你看看。”

    class Program
    {
        
    static void Main(string[] args)
        
    {
            
    try
            
    {
                Console.Write(
    "请输入数字A:");
                
    string strNumberA = Console.ReadLine();
                Console.Write(
    "请选择运算符号(+、-、*、/):");
                
    string strOperate = Console.ReadLine();
                Console.Write(
    "请输入数字B:");
                
    string strNumberB = Console.ReadLine();
                
    string strResult = "";

                
    switch (strOperate)
                
    {
                    
    case "+":
                        strResult 
    = Convert.ToString(Convert.ToDouble(strNumberA) + Convert.ToDouble(strNumberB));
                        
    break;
                    
    case "-":
                        strResult 
    = Convert.ToString(Convert.ToDouble(strNumberA) - Convert.ToDouble(strNumberB));
                        
    break;
                    
    case "*":
                        strResult 
    = Convert.ToString(Convert.ToDouble(strNumberA) * Convert.ToDouble(strNumberB));
                        
    break;
                    
    case "/":
                        
    if (strNumberB != "0")
                            strResult 
    = Convert.ToString(Convert.ToDouble(strNumberA) / Convert.ToDouble(strNumberB));
                        
    else
                            strResult 
    = "除数不能为0";
                        
    break;
                }


                Console.WriteLine(
    "结果是:" + strResult);
                
                Console.ReadLine();


            }

            
    catch (Exception ex)
            
    {
                Console.WriteLine(
    "您的输入有错:" + ex.Message);
            }

        }

    }


            大鸟:“吼吼,不错,不错,改得很快吗?至在目前代码来说,实现计算器是没有问题了,但这样写出的代码是否合出题人的意思呢?”
            小菜:“你的意思是面向对象?”
            大鸟:“哈,小菜非小菜也!”

    (待续)


          

  • 相关阅读:
    bzoj2049 [Sdoi2008]Cave 洞穴勘测——LCT
    洛谷P2679 子串——DP
    bzoj3669 [Noi2014]魔法森林——LCT
    洛谷P3778 [APIO2017]商旅——01分数规划
    bzoj4196 [Noi2015]软件包管理器——树链剖分
    bzoj4881 线段游戏——上升序列方案数
    bzoj1426 (洛谷P4550) 收集邮票——期望
    bzoj1858 [Scoi2010]序列操作——线段树
    bzoj3626 [LNOI2014]LCA——树链剖分
    L The Digits String(没有写完,有空补)
  • 原文地址:https://www.cnblogs.com/cj723/p/490094.html
Copyright © 2011-2022 走看看