7 - 6 复数类的定义

编写一个复数类,可以进行复数加法和减法运算。编写一个包含main方法的类测试该复数类。

要求该复数类至少包含一个无参的构造方法和一个带参的构造方法;

数据成员包括复数的实部和虚部,为double类型;包括两个方法,分别实现复数的加法和减法运算。测试代码如下:

public static void main(String[] args)

{

Complex a = new Complex();

Complex b = new Complex();

Scanner in= new Scanner(System.in);

a.setRealPart(in.nextDouble());

a.setImaginaryPart(in.nextDouble());

b.setRealPart(in.nextDouble());

b.setImaginaryPart(in.nextDouble());

System.out.println(a);

System.out.println(b);

System.out.println(a.add(b));

System.out.println(a.sub(b));

}

输入格式: 输入两个复数。输入为两行,每一行为一个复数的实部和虚部,用空格隔开。

输出格式: 输出复数加法和减法结果。输出为4行,第一行和第二行输出两个复数,第三行为两个复数的加法运算结果,第四行为减法运算结果。

输入样例: 在这里给出两组输入。例如:

1 2

3 4

- 1 2

1 2

输出样例: 在这里给出相应的输出。例如:

1.0 + 2.0i     - 1.0 + 2.0i

3.0 + 4.0i     1.0 + 2.0i

4.0 + 6.0i     4.0i

- 2.0 - 2.0i     - 2.0

using System;
namespace ConsoleApp3
{class Program{static void Main(string[] args){Complex a = new Complex();Complex b = new Complex();string arr3 = Console.ReadLine();string arr4 = Console.ReadLine();string[] arr1 = arr3.Split(' ');string[] arr2 = arr4.Split(' ');a.Real= Convert.ToDouble(arr1[0]);a.Imaginary = Convert.ToDouble(arr1[1]);b.Real = Convert.ToDouble(arr2[0]);b.Imaginary = Convert.ToDouble(arr2[1]);if (a.Imaginary >= 0)Console.WriteLine(a.Real.ToString("0.0") + "+" + a.Imaginary.ToString("0.0") + "i");else{Console.WriteLine(a.Real.ToString("0.0") + a.Imaginary.ToString("0.0") + "i");}Console.WriteLine(b.Real.ToString("0.0") + "+" + b.Imaginary.ToString("0.0") + "i");Console.WriteLine(a.add(b));Console.WriteLine(a.sub(b));}}class Complex{public double Real { get; set; }public double Imaginary { get; set; }public Complex(){ }public Complex(double real, double imaginary){this.Real  = real;this.Imaginary  = imaginary;}public string add(Complex b){double x = Real  + b.Real;double y = Imaginary  + b.Imaginary ;if (y >= 0 && x != 0 && y != 0)return x.ToString("0.0") + "+" + y.ToString("0.0") + "i";else if (x == 0){return y.ToString("0.0") + "i";}else if (y == 0){return x.ToString("0.0");}else{y = -y;return x.ToString("0.0") + "-" + y.ToString("0.0") + "i";}}public string sub(Complex b){double x = Real - b.Real ;double y = Imaginary  - b.Imaginary ;if (y >= 0 && x != 0 && y != 0)return x.ToString("0.0") + "+" + y.ToString("0.0") + "i";else if (x == 0){return y.ToString("0.0") + "i";}else if (y == 0){return x.ToString("0.0");}else{y = -y;return x.ToString("0.0") + "-" + y.ToString("0.0") + "i";}}}
}

7 - 6 复数类的定义相关推荐

  1. python定义一个复数类complex_定义一个复数类Complex,重载运算符“+”、“-”、“*”和“/”,使之能用于复数的加、减、乘和除。...

    展开全部 #include using namespace std; class Complex { public: Complex(){real=0;imag=0;} Complex(double ...

  2. 定义一个复数类Complex,重载运算符+

    定义一个复数类Complex,重载运算符"+".使之能用于复数的加法运算,将运算符函数重载为非成员.非友员的普通函数.编写程序求2个复数之和. #include<iostre ...

  3. 定义一个复数类Complex,重载运算符“+”,

    定义一个复数类Complex,重载运算符"+",使之能用于复数的加法运算.参加运算的两个运算符可以都是类对象.也可以其中一个是整数,顺序任意.例如:c1+c2,i+c1,c1+i ...

  4. 1、定义一个复数类Complex,使得下面的代码能够工作。 Complex c1(3,5); Complex c2=4.5; c1.add(c2); c1.show();

    一.问题描述 1.定义一个复数类Complex,使得下面的代码能够工作. Complex c1(3,5); Complex c2=4.5; c1.add(c2); c1.show(); #includ ...

  5. 定义复数类Complex,重载运算符“+”,使之用于复数的加法运算

    定义复数类Complex,重载运算符"+",使之用于复数的加法运算.将运算符函数重载为非成员.非友元的普通函数. C++代码实现: #include<iostream> ...

  6. 定义一个复数类Complex,重载运算符“+”,“ -”,“*”,“/”使之能用于计算两个复数的加减乘除。

    定义一个复数类Complex,重载运算符"+"," -","*","/"使之能用于计算两个复数的加减乘除.运算符重载函数 ...

  7. 利用友元函数与友元类定义复数类,实现基本运算

    定义复数类Complex,使用友元,完成复数的加法.减法.乘法.除法运算,以及对复 数的输出. 直接上代码: #include "iostream" using namespace ...

  8. 定义一个复数类Complex

    3. 定义一个复数类 Complex ,使得代码能够进行下面的工作 (20 分 ) : Complex c1(3, 5); // 用复数 3+5i 初始化 c1 Complex c2 = 4.5; / ...

  9. 设计复数类 Complex继承于数字类 Number,私有成员变量包括 double类型的实部rea(父类 Number中已定义)和虚部imag,公有成员方法包括两个构造方法(一个不带参数的和一个带两

    ​ 设计复数类 Complex继承于数字类 Number,私有成员变量包括 double类型的实部rea(父类 Number中已定义)和虚部imag,公有成员方法包括两个构造方法(一个不带参数的和一个 ...

最新文章

  1. js实现双击后网页自己主动跑-------Day55
  2. ios6:新特征介绍
  3. Java 10:“ var”关键字
  4. ViewPager外部获取“当前显示的页面的位置position”
  5. UVa 1588 换抵挡装置
  6. Linux 攻击防护基础排查
  7. 55个高质量的Magento主题,助你构建电子商务站点
  8. .net 4.0新特性-自旋锁(SpinLock)
  9. 将图片变换成3d对象
  10. 语义相似度(实践篇)
  11. 使用Mathematica绘制星形线(Astroid)
  12. 风口背后:第一批 00 后 Web3 创业者,和他们的「人间清醒」
  13. 如何用键盘打开设备管理器里计算机的属性,技巧:在Windows10系统中使用键盘打开设备管理器的三种方法...
  14. B2C电子商务网站使用Spring发送激活账号的电子邮件
  15. VB对象及其属性、事件和方法
  16. Lua 5.4.4函数、模块注册
  17. 《网络安全——网上生活要保护》主题班会
  18. 商标注册需要多久下证
  19. 2015下半年软件测评师上午考试试题
  20. 如何在C语言游戏代码中加入音乐?

热门文章

  1. c++实验2:6-4 求余弦函数近似值
  2. color-scheme 属性根据操作系统配色方案调整页面样式
  3. FFmpeg命令行工具系列二---转码流程及过滤器
  4. java quartz 重启不了_java – 重新启动quartz调度程序而不会出现错误
  5. Adobe Photoshop CC 2018绿色免激版
  6. 图的连通,连通图,连通分量,强连通分量
  7. Linux下更新网卡驱动
  8. Android应用添加谷歌登录(Google Sign In)
  9. java文件打成jar包
  10. 科沃斯擦玻璃机器人使用感受_科沃斯擦玻璃机器人怎么样?有人用过自动擦窗机器人吗?价格是多少...