• C#基础--面向对象计算器


    static void Main(string[] args)
    {
    //new个对象
    Calculator cal = new Calculator();

    //做事情
    cal.Run();

    }

    ///////////////////////////////

    Calculator类: 这里还有点小问题没有进行处理,就是运算符输入的不符合要求的话,没有让它继续输入(没有让它直到输入成功为止才可以),而直接出现了判断是否退出的提示

    public void Run()
    {
    //循环的进行输入-运算
    while(true)
    {
    //输入数字
    double firstNumber = ReadDouble();
    double secondNumber = ReadDouble();

    Console.WriteLine("请输入运算符: ");
    string oper = Console.ReadLine();

    //开始计算
    //要异常进行处理: 除数不能为0,运算符的符号不正确
    try
    {
    double dResult = Calculation(firstNumber, secondNumber, oper);
    Console.WriteLine("{0} {1} {2} = {3}", firstNumber, oper, secondNumber, dResult);
    }
    catch (Exception ex)
    {
    Console.WriteLine(ex.Message);
    }

    //打印是否退出
    Console.WriteLine(" 是否继续计算(y/n)");
    if (Console.ReadLine().ToLower() == "n")
    {
    break;
    }
    //Console.ReadKey();
    }

    }
    /// <summary>
    /// 判断输入的内容
    /// </summary>
    /// <returns></returns>
    public static double ReadDouble()
    {
    double dNmber;

    while (true)
    {
    Console.WriteLine("请输入第一个数字: ");
    string input = Console.ReadLine();

    //把用户输入的内容转城字符串
    if (double.TryParse(input, out dNmber))
    {
    break;
    }
    else
    {
    Console.WriteLine("对不起, 您输入的不是一个数字,请重新输入...");
    }
    }
    return dNmber;
    }

    /// <summary>
    /// 计算的方法
    /// </summary>
    /// <param name="firstNumber"></param>
    /// <param name="secondNumber"></param>
    /// <param name="oper"></param>
    /// <returns></returns>
    public static double Calculation(double firstNumber, double secondNumber, string oper)
    {
    double sum;
    //用switch case进行多条件的定值的判断
    switch (oper)
    {
    case "+": sum = firstNumber + secondNumber;
    break;
    case "-": sum = firstNumber - secondNumber;
    break;
    case "*": sum = firstNumber * secondNumber;
    break;
    case "/":
    //在代码运行的过程中,实际条件与预期条件可能不一致的时候,可以抛个异常
    if (secondNumber == 0)
    {
    throw new Exception("除数不能为 0");
    }
    sum = firstNumber / secondNumber;
    break;
    default:
    throw new Exception("请输入正确的运算符...");
    }
    return sum;
    }

  • 相关阅读:
    pytest入门 及allure2报告生成
    java 常用集合list与Set、Map区别及适用场景总结
    通俗地解释脏读、不可重复读、幻读
    Serializable接口的意义和用法
    maven基础
    Class.forName()用法详解
    关于getClass(),Object.class,getClassLoader的理解
    maven(一) maven到底是个啥玩意~
    TCP/IP协议族体系结构:死也不能忘记的四个层
    HTML表单常用标签
  • 原文地址:https://www.cnblogs.com/zsongs/p/5084456.html
Copyright © 2020-2023  润新知