文章标题

来源:互联网 发布:淘宝模特张恋恋多大了 编辑:程序博客网 时间:2024/06/17 22:27

定义分数(Fraction)类:
1)、成员变量
私有字段以及可读可写属性:分子、分母
2)、成员方法:
* 打印分数信息(例如: 1 / 3)
* 约分
* 创建一个方法交换分子和分母的值
* 创建一个方法能同时得到加、减、乘、除、求余运算;

    public class Fraction     {        private int member;        private int denominator;        Fraction[] result = new Fraction[5];        {            get {                return member;                }            set {                member = value;                }        }        public int Denominator         {            get {                return denominator;                }            set {                if (value != 0)                 {                    denominator = value;                }                }        }        //打印分数信息            public void PrintFraction ()             {            Console.WriteLine (member + " / " + denominator);            }        //约分        public void Reduction ()         {            int gcd = GCD (this.Member, this.Denominator);            this.Member /= gcd;            this.Denominator /= gcd;        }        //先求最大公约数        private int GCD (int a, int b) {             int temp = 0;            while (b != 0) {                temp = a % b;                a = b;                b = temp;            }            return a;        }        public Fraction Exchange () {            Fraction newFra = new Fraction ();            newFra.member = this.denominator;            newFra.denominator = this.member;            return newFra;        }//获取所有运算的值存入分数类型的数组        public Fraction[] AllOperation (Fraction fra)         {            result [0] = Add (fra);            result [1] = Sub (fra);            result [2] = Mult (fra);            result [3] = Division (fra);            result [4] = Remain (fra);            return result;        }        //输入运算符号求值        public Fraction Operation(char c)        {            switch (c)            {                case '+':                    {                                               return result[0];                    }                case '-':                    {                        return result[1];                    }                case '*':                    {                        return result[2];                    }                case '/':                    {                        return result[3];                    }                case '%':                    {                        return result[4];                    }                default:                    return  null;            }        }        //加法        public Fraction Add (Fraction fra)         {            //存放加法结果            Fraction sum = new Fraction ();            sum.Member = this.member * fra.Denominator + fra.Member * this.denominator;            sum.Denominator = this.Denominator * fra.Denominator;            //约分            sum.Reduction ();            return sum;        }        //减法        public Fraction Sub (Fraction fra)         {            //存放加法结果            Fraction sum = new Fraction ();            sum.Member = this.member * fra.Denominator - fra.Member * this.denominator;            sum.Denominator = this.Denominator * fra.Denominator;            //约分            sum.Reduction ();            return sum;        }        //乘法        public Fraction Mult (Fraction fra)         {            //存放加法结果            Fraction sum = new Fraction ();            sum.Member = this.member * fra.Member;            sum.Denominator = this.Denominator * fra.Denominator;            //约分            sum.Reduction ();            return sum;        }        //除法        public Fraction Division (Fraction fra)         {            //存放加法结果            Fraction sum = new Fraction ();            //求倒数            Fraction newFra = fra.Exchange ();            sum.Member = this.member * newFra.member;            sum.Denominator = this.denominator * newFra.denominator;            //约分            sum.Reduction ();            return sum;        }        //求余        public Fraction Remain (Fraction fra)         {            //存放加法结果            Fraction sum = new Fraction ();            sum.Member = (this.member * fra.Denominator) % (fra.Member * this.denominator);            sum.Denominator = this.Denominator * fra.Denominator;            //约分            sum.Reduction ();            return sum;        }    }

主函数

            Fraction fra_1 = new Fraction ();            fra_1.Member = 32;            fra_1.Denominator = 64;            fra_1.Reduction ();//约分            //fra_1.PrintFraction ();//打印            //3 / 6 + 4 / 6            Fraction fra_2 = new Fraction ();            fra_2.Member = 12;            fra_2.Denominator = 64;             fra_1.AllOperation (fra_2);//获得所有运算的值存入数组result中            char ch = char.Parse(Console.ReadLine());            Fraction r = new Fraction();             r= fra_1.Operation(ch);                         r.PrintFraction();            //foreach (Fraction fra in res)            //{            //    fra.PrintFraction();            //}            //          Fraction sum = fra_1.Division (fra_2);            //          sum.PrintFraction ();
原创粉丝点击