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. LTE DTU和4G DTU有什么不同

    其实4G DTU和LTE DTU从本质上来说是没有什么区别的,只是使用的运营商不同,设备的编号会有不同,都是属于DTU设备. LTE是baiLong Term Evolution(长期演进)的缩写.3 ...

  2. python中的递归

    python中的递归 关注公众号"轻松学编程"了解更多. 文章更改后地址:传送门 间接或直接调用自身的函数被称为递归函数. 间接: def func(): otherfunc() ...

  3. POI做题记录

    嘿嘿,偷学一波! 由于博主做的题比较少,所以没按年份整理,直接按照做题时间放上来了. 2020年9月20日 [POI2013]LUK-Triumphal arch 给你一颗\(n\)个点的树(\(n\ ...

  4. Hangfire只允许同时运行同一个任务

    Hangfire有个机制可以确保所有任务都会被执行,如果当服务器停机了一段时间重新启动时,在此期间的周期任务会几乎同时执行.而大部分时候,我们希望同个周期任务每段时间只运行一个就行了. 或者是如果周期 ...

  5. stm32与地磁传感器HMC5883L

    1.简介 霍尼韦尔 HMC5883L 是一种表面贴装的高集成模块,并带有数字接口的弱磁传感器芯片,应用于低成本罗盘和磁场检测领域.HMC5883L 包括最先进的高分辨率 HMC118X 系列磁阻传感器 ...

  6. 《.NET 5.0 背锅案》第1集:验证 .NET 5.0 正式版 docker 镜像问题

    今天我们分析了博客站点的2次故障(故障一.故障二),发现一个巧合的地方,.NET 5.0 正式版的 docker 镜像是在11月10日提前发布上线的. 而在11月10日下午4点左右,由于 CI 服务器 ...

  7. 1redis介绍

    一,概述 是一种nosql数据库,保存在内存中,同时redis可以把内存同时保存到磁盘,即可以把数据持久化.支持较多的数据类型,string,list(队列和栈),set,sorted set,has ...

  8. table表格标签的属性

    table标签目前前端主流推荐HTML.CSS.JS三者分离,实际使用table标签的CSS样式代码还是采用table的style的属性和值来进行外观样式控制. 习惯样式: 1 table { 2 d ...

  9. 【JVM第一篇--类加载机制】类加载过程

    写在前面的话:本文是在观看尚硅谷JVM教程后,整理的学习笔记.其观看地址如下:尚硅谷2020最新版宋红康JVM教程 一.什么是类加载过程 (1).概述 我们编写的类(.java文件)会被编译器(如ja ...

  10. linux文件cat/tac/more/less/head/tail/find/vimdiff

    ls查看目录文件里的文件: [root@localhost test]# ls a  aa  b  c -d选项查看目录文件自身信息: [root@localhost test]# ll -d drw ...