用C#封装实现简易版计算器

用C#封装实现简易版计算器

一,创建类

class Jsq//创建一个类

二,在创建的类中定义字段用来存储数字和符号以及最后的结果

//成员变量
        //定义字段为int类型
        private int num1;
        private int num2;
        //定义运算符号,字段为字符串类型
        private string fh;
        private double jg;//创建一个字段用来记录运算结果

三,对字段进行属性封装

//属性封装
        public int Num1 { get => num1; set => num1 = value; }
        public int Num2 { get => num2; set => num2 = value; }
        public string Fh 
        {
            get => fh;
            set
            {
                //限制
                if (value=="+"|| value == "-" || value == "*" || value == "/" )//判断输入的符号是否为+,-,*,/,
                {
                    fh = value;//如果是赋值
                }
                else//反之
                {
                    Console.WriteLine("请输入运算符号+或-或*或/");//进行提示
                    this.Fh = Console.ReadLine();//重新输入
                }
            }       
        }      
        //属性封装
        public double Jg { get => jg; set => jg = value; }

四,创建一个封装方法用来进行运算

//封装一个方法用来进行运算
        public void abc(int sz1, int sz2, string fuhao)//形参  没有实际的数值    定义实参的类型
        {
            switch (fh)//检查输入的符号
            {
                case "+"://如果输入的符号为+
                    Jg = num1 + num2;//那么结果(jg)就等于第一个和第二个值相加
                    Console.WriteLine("最后结果为{0}", Jg);//输出最后的结果
                break;//switch终止,
                case "-":
                    Jg = num1 - num2;
                    Console.WriteLine("最后结果为{0}", Jg);
                    break;
                case "*":
                    Jg = num1 * num2;
                    Console.WriteLine("最后结果为{0}", Jg);
                    break;
                case "/"://如果输入的符号为除/
                    //限制
                    if (num2==0)//判断输入的第二个数字是否为0
                    {
                        Console.WriteLine("被除数不能为0");//如果为0,则进行提示
                    }
                    else//反之
                    {
                        Jg = num1 / num2;//继续进行运算结果(jg)就等于第一个和第二个值相除
                        Console.WriteLine("最后结果为{0}", Jg);//输出最后结果
                    }                    
                    break;//switch终止,
            }
        }

五,在程序主入口中给予提示和接收输入的数据以及字符

static void Main(string[] args)//程序的主入口
        {
            Jsq jsq = new Jsq();//实例化对象
            //给予提示
            Console.WriteLine("请输入第一个数字");
            //Console.ReadLine()等待直到用户按下回车一次读取一行字符
            //读取的字符赋值给属性进行判断是否正确
            //注意类型的转换
            jsq.Num1 = Convert.ToInt32(Console.ReadLine());
            //同上
            Console.WriteLine("请输入第二个数字");
            jsq.Num2 = Convert.ToInt32(Console.ReadLine());
            //同上
            Console.WriteLine("请输入运算符");
            jsq.Fh = Console.ReadLine();

六,调用封装好的方法,进行运算

//调用我们封装好的方法,进行运算
            jsq.abc(jsq.Num1,jsq.Num2,jsq.Fh);

七,最后按下回车键输出结果

//最后按下回车键显示结果
            Console.WriteLine("按回车键结束计算");
            //防止闪退
            Console.ReadLine();
        }

八,最后显示结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/XVJINHUA954/article/details/106591688
今日推荐