zoukankan      html  css  js  c++  java
  • C# 实现 复数 运算 类

    实现复数的加、减、乘、除,求实部、虚部、模和命令行输出。源代码如下:

        /// <summary>

        /// 复数类

        /// </summary>

        public class Complex

        {

     

            /// <summary>

            /// 默认构造函数

            /// </summary>

            public Complex()

                : this(0, 0)

            {

            }

     

            /// <summary>

            /// 只有实部的构造函数

            /// </summary>

            /// <param name="real">实部</param>

            public Complex(double real)

                : this(real, 0) { }

     

            /// <summary>

            /// 由实部和虚部构造

            /// </summary>

            /// <param name="real">实部</param>

            /// <param name="image">虚部</param>

            public Complex(double real, double image)

            {

                this.real = real;

                this.image = image;

            }

     

            private double real;

            /// <summary>

            /// 复数的实部

            /// </summary>

            public double Real

            {

                get { return real; }

                set { real = value; }

            }

     

            private double image;

            /// <summary>

            /// 复数的虚部

            /// </summary>

            public double Image

            {

                get { return image; }

                set { image = value; }

            }

     

            ///重载加法

            public static Complex operator +(Complex c1, Complex c2)

            {

                return new Complex(c1.real + c2.real, c1.image + c2.image);

            }

     

            ///重载减法

            public static Complex operator -(Complex c1, Complex c2)

            {

                return new Complex(c1.real - c2.real, c1.image - c2.image);

            }

     

            ///重载乘法

            public static Complex operator *(Complex c1, Complex c2)

            {

                return new Complex(c1.real * c2.real - c1.image * c2.image, c1.image * c2.real + c1.real * c2.image);

            }

     

            /// <summary>

            /// 求复数的模

            /// </summary>

            /// <returns></returns>

            public double ToModul()

            {

                return Math.Sqrt(real * real + image * image);

            }

     

            /// <summary>

            /// 重载ToString方法

            /// </summary>

            /// <returns>打印字符串</returns>

            public override string ToString()

            {

                if (Real == 0 && Image == 0)

                {

                    return string.Format("{0}", 0);

                }

                if (Real == 0 && (Image != 1 && Image != -1))

                {

                    return string.Format("{0} i", Image);

                }

                if (Image == 0)

                {

                    return string.Format("{0}", Real);

                }

                if (Image == 1)

                {

                    return string.Format("i");

                }

                if (Image == -1)

                {

                    return string.Format("- i");

                }

                if (Image < 0)

                {

                    return string.Format("{0} - {1} i", Real, -Image);

                }

                return string.Format("{0} + {1} i", Real, Image);

            }

        }

  • 相关阅读:
    在mac上如何用safari浏览器调试ios手机的移动端页面
    VSCode 入门
    Redux和Context对比
    七种CSS左侧固定,右侧自适应两栏布局
    componentWillMount VS componentDidMount
    react-native IOS TextInput长按提示显示为中文(select | selectall -> 选择 | 全选)
    MySQL调优5---查询优化
    MySQL调优4---索引
    MySQL官网下载案例数据库
    MySQL调优3---执行计划
  • 原文地址:https://www.cnblogs.com/oyjj/p/2133001.html
Copyright © 2011-2022 走看看