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

    FROM: http://lazyfoo.net/tutorials/SDL/03_event_driven_programming/index.php Event Driven Programmin ...

  2. numpy矩阵

    一.创建矩阵 Numpy提供了ndarray来进行矩阵的操作,在Numpy中 矩阵继承于NumPy中的二维数组对象,但矩阵区别于数组,不可共用数组的运算规律. 1.mat("第0行:第1行: ...

  3. 02_tcp_deadlock

    # 这个程序我们是测试客户端和服务端在进行通信的过程中,可能会产生死锁的情况. # 这是因为缓冲区,和TCP协议的可靠性连接导致的. # 在程序中我们可以看到,客户端先向服务端发送数据,然后服务端就收 ...

  4. n阶行列式的全排列求解(Java)

    上一个随笔,我介绍了全排列的递归求解,其中还有排列的逆序数等代码,这次我来介绍如何使用全排列计算行列式的值. 使用全排列求行列式的值,简单的描述就是: 对这个行列式每一行选取一个数,这些数处于行列式的 ...

  5. c#mysql数据库

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  6. Collection迭代器Iterator的使用

    package com.cx.Collecion; import java.util.ArrayList; import java.util.Collection; import java.util. ...

  7. 八位“Booth二位乘算法”乘法器

    目录 八位"Booth二位乘算法"乘法器 原理 补码乘法器 Booth一位乘 Booth二位乘 设计思路 减法变加法 vivado特性 设计文件 综合电路 测试文件 仿真波形 八位 ...

  8. 内网渗透 day2-nmap和nc的使用

    nmap和nc的使用 nmap的使用 1. nmap -sSV 172.16.100.214 -T4 -F -sS进行SYN扫描,是比较隐匿的 -sV探测打开端口的服务的信息 -sSV将上面两种一起使 ...

  9. 简单STL

    string: string s="5418340"; sort(s.begin(),s.end()); cout<<s; /**begin是头迭代器,end是尾迭代器 ...

  10. 控制算法PID-理解分析1

    以下内容是来自网络上的,本人觉得有道理,拷贝下来,由于没有找到最源头的出处,没有注明来自何方. 转载,下面说法应该更通俗易懂一家庭,每次需要开支的时候丈夫P都要拿卡去取钱.需要多少取多少,因为银行最低 ...