1. 1 //4.复数的定义与描述
  2. 2 package test;
  3. 3
  4. 4 import java.util.Scanner;
  5. 5
  6. 6 public class complex {//复数类
  7. 7 double real;//实部
  8. 8 double image;//虚部
  9. 9 complex(){
  10. 10 Scanner in=new Scanner(System.in);
  11. 11 double real=in.nextDouble();
  12. 12 double image=in.nextDouble();
  13. 13 complex(real,image);
  14. 14 }
  15. 15 public complex(double real, double image) {//有参构造函数
  16. 16 this.real = real;
  17. 17 this.image = image;
  18. 18 }
  19. 19 private void complex(double real, double image) {//给无参构造函数调用
  20. 20 this.real = real;
  21. 21 this.image = image;
  22. 22 }
  23. 23 public double getReal() {
  24. 24 return real;
  25. 25 }
  26. 26 public void setReal(double real) {
  27. 27 this.real = real;
  28. 28 }
  29. 29 public double getImage() {
  30. 30 return image;
  31. 31 }
  32. 32 public void setImage(double image) {
  33. 33 this.image = image;
  34. 34 }
  35. 35 //复数相加
  36. 36 complex add(complex a) {
  37. 37 double real2=a.getReal();
  38. 38 double image2=a.getImage();
  39. 39 double newreal=real+real2;
  40. 40 double newimage=image+image2;
  41. 41 complex result=new complex(newreal, newimage);
  42. 42 return result;
  43. 43 }
  44. 44 //复数相减
  45. 45 complex sub(complex a) {
  46. 46 double real2=a.getReal();
  47. 47 double image2=a.getImage();
  48. 48 double newreal=real-real2;
  49. 49 double newimage=image-image2;
  50. 50 complex result=new complex(newreal, newimage);
  51. 51 return result;
  52. 52 }
  53. 53 //复数相乘
  54. 54 complex mul(complex a) {
  55. 55 double real2=a.getReal();
  56. 56 double image2=a.getImage();
  57. 57 double newreal=real*real2-image*image2;
  58. 58 double newimage=image*real2 + real*image2;
  59. 59 complex result=new complex(newreal, newimage);
  60. 60 return result;
  61. 61 }
  62. 62 //复数相除
  63. 63 complex div(complex a) {
  64. 64 double real2=a.getReal();
  65. 65 double image2=a.getImage();
  66. 66 double newreal=(real*real2+image*image2)/(real2*real2 + image2*image2);
  67. 67 double newimage=(image*real2 - real*image2)/(real2*real2 + image2*image2);
  68. 68 complex result=new complex(newreal, newimage);
  69. 69 return result;
  70. 70 }
  71. 71 // 输出
  72. 72 public void print(){
  73. 73 if(image > 0){
  74. 74 System.out.println(real + " + " + image + "i");
  75. 75 }else if(image < 0){
  76. 76 System.out.println(real + "" + image + "i");
  77. 77 }else{
  78. 78 System.out.println(real);
  79. 79 }
  80. 80 }
  81. 81 }
  82. 82
  83. 83
  84. 84 package test;
  85. 85
  86. 86 public class complextest {
  87. 87
  88. 88 public static void main(String[] args) {
  89. 89 System.out.println("请输入第一个复数的实部和虚部:");
  90. 90 complex a1=new complex();
  91. 91
  92. 92 System.out.println("请输入第二个复数的实部和虚部:");
  93. 93 complex a2=new complex();
  94. 94
  95. 95 complex add=a1.add(a2);
  96. 96 complex sub=a1.sub(a2);
  97. 97 complex mul=a1.mul(a2);
  98. 98 complex div=a1.div(a2);
  99. 99
  100. 100 //输出
  101. 101 System.out.println("相加的结果为:");
  102. 102 add.print();
  103. 103 System.out.println("相减结果为:");
  104. 104 sub.print();
  105. 105 System.out.println("相乘的结果为:");
  106. 106 mul.print();
  107. 107 System.out.println("相除的结果为:");
  108. 108 div.print();
  109. 109 }
  110. 110
  111. 111 }

Java复数的定义与描述的更多相关文章

  1. 简单练习题2编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次, 编写一个主类,在主类中测试Account类的功能

    编写Java应用程序.首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”.“取款”和“余额查询”.其次, 编写一个主类,在主类中测试Account类的 ...

  2. java实验作业类的定义与描述

    1 //1三角形的定义与描述 2 package test; 3 4 public class sjx { 5 private double a,b,c; 6 7 public sjx(double ...

  3. [JAVA] java class 基本定义 Note

    java class 基本定义 Note 1 package abeen.note; 2 import java.util.*; 3 4 5 /* 6 java calss 基本 7 */ 8 pub ...

  4. java类中定义接口

    今天看到一个java类中定义了接口,写个备忘录,记录一下 package com.gxf.test; public class Test_interface { public interface sh ...

  5. [改善Java代码]使用构造函数协助描述枚举项

    一.分析 一般来说,我们经常使用的枚举项只有一个属性,即排序号,其默认值是从0.1.2... ....但是除了排序号外,枚举还有一个(或多个)属性:枚举描述,它的含义是通过枚举的构造函数,声明每个枚举 ...

  6. 利用eclipse新建的java web项目没有部署描述符web.xml文件怎么办?

    原文转自:http://blog.csdn.net/suyu_yuan/article/details/50947007 利用eclipse新建的Java Web项目没有部署描述符web.xml文件, ...

  7. java它们的定义jar套餐读Excel(这包括2003和2007)数据,和实例

    使用java它们的定义jar套餐读excel数据支持excel2007和excel2003 在http://download.csdn.net/detail/u010792467/8079355下载所 ...

  8. JAVA数组的定义以及使用1

    public class HelloWorld { public static void main(String[] args){ // Scanner s = new Scanner(System. ...

  9. 【mybatis】mybatis使用java实体中定义的常量,或静态方法

    mybatis使用java实体中定义的常量 示例代码: <select id="findDealerInfo" parameterType="com.pisen.c ...

随机推荐

  1. BP神经网络算法程序实现鸢尾花(iris)数据集分类

    作者有话说 最近学习了一下BP神经网络,写篇随笔记录一下得到的一些结果和代码,该随笔会比较简略,对一些简单的细节不加以说明. 目录 BP算法简要推导 应用实例 PYTHON代码 BP算法简要推导 该部 ...

  2. UI自动化测试不稳定的因素

    1.进行测试的时候,经常会有一些无法预测的弹框出现: 2.页面很多元素是会动态变化的: 3.进入页面时,经常会因为网络等一些原因,使得页面元素加载延迟: 4.数据变更.

  3. typeerror object of type ‘decimal‘ is not json serializable jsonify

    当使用flask的jsonify返回json数据时,由于数据库有些字段类型使用decimal,而jsonify无法处理 解决方案 导入下面的包即可解决 pip install simplejson

  4. Java_Stringbuilder和StringBuffer

    StringBuilder和StringBuffer非常类似, 均代表可变的字符串序列. 这两个类都是抽线类AbstractStringBuilder的子类, 方法几乎一样 /******String ...

  5. 一次打包引发的思考,原来maven还能这么玩?

    持续原创输出,点击上方蓝字关注我 目录 前言 依赖关系 你会怎么做? 必知的几个参数 总结 前言 昨天有一个读者找我的交流工作心得,偶然间提到一个有趣的问题,如下: 「大致的意思」:公司最近在整多模块 ...

  6. 白话科普系列——双十一,竟然是一场有“预谋”的DDoS攻击?

    随著互联网与信息技术的发展,所有人都在享受互联网带来的舒适和便利.如今,无论是个人社交行为,还是商业活动都早已离不开互联网. 但是,网络空间在创造机遇的同时,也带来了威胁.随着企业价值.知名度的提高. ...

  7. 探索RocketMQ的重复消费和乱序问题

    前言 在之前的MQ专题中,我们已经解决了消息中间件的一大难题,消息丢失问题. 但MQ在实际应用中不是说保证消息不丢失就万无一失了,它还有两个令人头疼的问题:重复消费和乱序. 今天我们就来聊一聊这两个常 ...

  8. ASP.NET MVC过滤器粗略总结

    mvc的过滤器总共分为:授权认证过滤器.行为过滤器.异常过滤器.自定义行为过滤器 授权认证过滤器: 异常过滤器: 行为过滤器的调用顺序: 几个过滤器在Controler的使用

  9. gdb调试入门(下)

    GDB调试主要包括: 1.查看运行时数据 2.程序错误 3.gdb调试逻辑错误 4.gdb调试段错误 5.core文件调试 一.查看运行时数据 1.print 查看变量值 2.ptype 变量: 查看 ...

  10. 在Linux下的安装mysql-5.7.28 心得总结

    mysql-5.7.28 在Linux下的安装教程图解 这篇文章主要介绍了mysql-5.7.28 的Linux安装,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,希望给有需要的 ...