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. Java学习的第十八天

    1abstract 综合实例 2.不知道为什么综合实例中的Scanner报错 3.明天解决问题并学习第六章初步知识

  2. Android Studio的第一次经历

    第一个简单APP的制作是从xml开始的,通过在java新建一个empty  activity,并在layout里找到对应的xml文件进行编写.每编写一个xml就要事先新建 一个对应的empty  ac ...

  3. Netty源码解析 -- 事件循环机制实现原理

    本文主要分享Netty中事件循环机制的实现. 源码分析基于Netty 4.1 EventLoop 前面分享服务端和客户端启动过程的文章中说过,Netty通过事件循环机制(EventLoop)处理IO事 ...

  4. 利用VS2017制作软件安装包与卸载程序

    本博客讲述如何利用VS2017制作安装包以及相应的卸载程序,并解决过程中可能遇到的问题 一.制作安装程序 1.打开VS2017,新建项目,选择如下图所示程序: 新建成功后,会出现如下图所示目录: 2. ...

  5. Spark集群和任务执行

    [前言:承接<Spark通识>篇] Spark集群组件 Spark是典型的Master/Slave架构,集群主要包括以下4个组件: Driver:Spark框架中的驱动器,运行用户编写Ap ...

  6. CF1137A/1138C Skyscrapers

    排序+数据结构 将每一行(每一列)都排个序,并将原位置的在这一行(列)中的排行记录在一个数组里 注意,要将楼高度相同的元素看作一个元素 如 1 1 4 5 6 8 8,则排行是      1 1 2 ...

  7. Scrapy分布式爬虫,分布式队列和布隆过滤器,一分钟搞定?

    使用Scrapy开发一个分布式爬虫?你知道最快的方法是什么吗?一分钟真的能 开发好或者修改出 一个分布式爬虫吗? 话不多说,先让我们看看怎么实践,再详细聊聊细节~ 快速上手 Step 0: 首先安装 ...

  8. 3.3 Spring5源码---循环依赖过程中spring读取不完整bean的最终解决方案

    根据之前解析的循环依赖的源码, 分析了一级缓存,二级缓存,三级缓存的作用以及如何解决循环依赖的. 然而在多线程的情况下, Spring在创建bean的过程中, 可能会读取到不完整的bean. 下面, ...

  9. php 上传音频文件并获取时长

    <input type="file" name="audio" id="voice_file" style="display ...

  10. TypeError: react__WEBPACK_IMPORTED_MODULE_2___default.a.createClass is not a function

    在看阮一峰的react入门的时候,写到一段代码,但是写完就报错了,经过多方查找,终于解决掉了 错误描述: 解决方法: 将React.createClass换成React.Component, 但是不知 ...