##声明并测试一个复数类,其方法包括复数的加、减、乘运算。

  • 1、定义了两个私有属性(变量),分别表示复数的实部和虚部,并为每一个属性提供get和set方法,以便外界进行修改复数的值。如果不想让外界修改某属性的值,可以将该属性的访问控制设为私有并且不提供它的set方法。

  • 2、默认构造函数构造一个实部为0,虚部也为0的复数对象,带参数的构造函数允许使用者指定复数对象的实部和虚部的值。

      import java.util.Scanner;public class ComplexNumber {private double realPart;private double imaginaryPart;/*默认构造函数*/public ComplexNumber() {this.realPart = 0.0;this.imaginaryPart =0.0;}/** 构造函数* @param a 实部* @param b 虚部* */public ComplexNumber(double a, double b) {this.realPart = a;this.imaginaryPart = b;}/*** 复数的加法运算。* c = a + b 的运算法则是:* c.实部 = a.实部 + b.实部; c.虚部 = a.虚部 + b.虚部* @param aComNum 加数* @return 加法运算的结果,为一个复数对象*/public ComplexNumber add(ComplexNumber aComNum){if (aComNum == null){System.out.println("对象的内容不能为null");return new ComplexNumber();}return new ComplexNumber(this.realPart +  aComNum.getRealPart() ,this.imaginaryPart+ aComNum.getImaginaryPart());}/*** 复数的减法运算。* c = a - b 的运算法则是:* c.实部 = a.实部 - b.实部; c.虚部 = a.虚部 - b.虚部* @param aComNum 减数* @return 减法运算的结果,为一个复数对象*/public ComplexNumber decrease(ComplexNumber aComNum){if (aComNum == null){System.out.println("对象不能为null");return new ComplexNumber();}return new ComplexNumber(this.realPart - aComNum.getRealPart(),this.imaginaryPart-aComNum.getImaginaryPart());}/*** 复数的乘法运算。* c = a * b 的运算法则是:* c.实部 = a.实部 * b.实部 - a.虚部 * b.虚部;* c.虚部 = a.虚部 * b.实部 + a.实部 * b.虚部;* @param aComNum 乘数* @return 乘法运算的结果,为一个复数对象*/public ComplexNumber multiply(ComplexNumber aComNum){if (aComNum == null){System.out.println("对象不能为null");return  new ComplexNumber();}double newReal = this.realPart*aComNum.realPart - this.imaginaryPart*aComNum.imaginaryPart;double newImaginary = this.realPart*aComNum.imaginaryPart + this.imaginaryPart*aComNum.realPart;ComplexNumber result = new ComplexNumber(newReal,newImaginary);return result;}/*@return 返回realPart*/public double getRealPart() {return realPart;}/** @param realPart 要设置的 realPart。*/public void setRealPart(double realPart) {this.realPart = realPart;}/*@return 返回imaginaryPart*/public double getImaginaryPart() {return imaginaryPart;}/** @param imaginaryPart 要设置的 imaginaryPart。*/public void setImaginaryPart(double imaginaryPart) {this.imaginaryPart = imaginaryPart;}/** 将一个复数显示为字符串 */@Overridepublic String toString() {return this.realPart + " + " + this.imaginaryPart + "i";}/*主函数*/public static void main(String[] args) {Scanner scr = new Scanner(System.in);System.out.println("请输入第一个复数的实部和虚部(空格为分隔符)");ComplexNumber c1 = new ComplexNumber(scr.nextInt(),scr.nextInt());System.out.println("请输入第二个复数的实部和虚部(空格为分隔符)");ComplexNumber c2 = new ComplexNumber(scr.nextInt(),scr.nextInt());System.out.println("ComplexNumber a" + c1.add(c1).toString());System.out.println("ComplexNumber b" + c2.add(c2).toString());System.out.println("(a + b) = " + c1.add(c2).toString());System.out.println("(a - b) = " + c1.decrease(c2).toString());System.out.println("(a * b) = " + c1.multiply(c2).toString());}}
    

一起成长,一起分享相关的学习技术!Fighting!!!
欢迎关注微信公众号:“Coding World”
获取更多相关的技术

Java练习之复数运算相关推荐

  1. java简单的复数类_Java练习 SDUT-4303_简单的复数运算(类和对象)

    简单的复数运算(类和对象) Time Limit: 2000 ms Memory Limit: 65536 KiB Problem Description 设计一个类Complex,用于封装对复数的下 ...

  2. python定义一个复数类complex、并实现复数相加_用java定义一个复数类Complex,能够创建复数对象,并且实现复数之间的加、减运算...

    题目: 用java定义一个复数类Complex,能够创建复数对象,并且实现复数之间的加.减运算 复数具有实部和虚部两部分,如2+5i就是一个复数,其中2为实部,5i为虚部;两复数相加时,实部与实部相加 ...

  3. java程序设计复数运算_Java实现复数运算

    <Java实现复数运算>由会员分享,可在线阅读,更多相关<Java实现复数运算(2页珍藏版)>请在人人文库网上搜索. 1.定义一个复数类complex,它的内部具有两个实例变量 ...

  4. java中复数类中相加,复数运算的JAVA类

    //这个类表示复数,定义了执行复数运算的方法. public class ComplexNumber { private double x, y; //初始化X和Y的构造函数 public Compl ...

  5. python支持复数以及相关的运算吗_python复数运算

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 和大多数语言一样,python也有很多运算符,并且运算符跟其他语言的运算符大同小 ...

  6. 实训C++语言设计——实现复数运算

    平台:VC++ 2005 测试通过! .vcproj 这是使用应用程序向导生成的 VC++ 项目的主项目文件. 它包含生成该文件的 Visual C++ 的版本信息,以及有关使用应用程序向导选择的平台 ...

  7. c语言 单词变复数_一些复数运算的C语言实现

    1 /*file ComplexCalculation.c2 *author Vincent Cui3 *e-mail whcui1987@163.com4 *version 0.15 *data 2 ...

  8. 【Python】Python里的复数运算

    复数的基本知识不谈,这里只简单介绍一下Python在复数运算中能做什么. 调用的运算代码: z1 = 8 + 9j z2 = 3 + 4j# 实部 print(z1.real)# 虚部 print(z ...

  9. java实现次方的运算_【技术干货】Java 面试宝典:Java 基础部分(1)

    海牛学院的 | 第 616 期 本文预计阅读 |18 分钟 Java 基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法, ...

最新文章

  1. Pytorch Lightning 完全攻略!
  2. 2019全球高引学者榜单出炉:中国735人次入选增速第一,计算机学科蝉联第一,中科院首次入围全球前三...
  3. Spring4.X系列之IOC
  4. 北京协和医学院823计算机原理,2017年北京协和医学院放射医学研究所(天津)823计算机原理考研题库...
  5. POJ 1088-滑雪
  6. OpenTSDB 开发指南之 Grafana 展示OpenTSDB监控数据
  7. C++ 基类和派生类的构造函数
  8. 转搞网络的也可以很有柴的!
  9. 一文读懂平衡二叉树 | 技术头条
  10. 基于用户的协同过滤推荐算法
  11. u9系统的使用方法仓库_用友U9--INV库存管理手册.pdf
  12. 利用List集合实现简单的斗地主
  13. 2019-06-27-信息化系统介绍
  14. [dataTables使用的坑]requested unknown parameter 'XXX' for row xx, column xx
  15. teradata中no more spool space
  16. Linux手机DIY.夏新E600和飞利浦968的重大突破
  17. 让数据填报、收集效率提升80%!这个报表工具真的太强大了
  18. 原码,反码,补码详解及原理
  19. UG二次开发技术的研究
  20. 【附源码】Python小游戏 ——开心消消乐

热门文章

  1. 中英文翻译功能 php,PHP微信开发之翻译功能
  2. 苹果xsmax怎么开机_苹果XSMAX手机进水不开机怎么办?看小伙如何完美修复!
  3. 谷歌浏览器F12抓包如何过滤只显示接口请求不显示图片、js那些请求
  4. OpenCV实现图像的裁块与拼接
  5. Tortoisegit 远端版本回退
  6. python3 打字小游戏
  7. CMD快捷指令之启动字符映射表
  8. 国内首部区块链行业纪录片开播
  9. .class .class 和 .class.class 和 .class>.class 比较
  10. php反序列化--字符串逃逸