自己第一次写的::

package one;public class Complex {double real1;double virtual1;double real2;double virtual2;// void just1(double real1, double virtual1) {// this.real1 = real1;// this.virtual1 = virtual1;// }//// void just(double real2,double virtual2) {// this.real2 = real2;// this.virtual2 = virtual2;// }public void add() // 加{double real;double virtual;real = real1 + real2;virtual = virtual1 + virtual2;if (real == 0 && virtual == 0)System.out.println(0);else if (real == 0 && virtual != 0)System.out.println(virtual + "i");else if (real != 0 && virtual == 0)System.out.println(real);else {if (virtual > 0)System.out.println(real + "+" + virtual + "i");elseSystem.out.println(real + "-" + Math.abs(virtual) + "i");}}public void minus()// 减{double real;double virtual;real = real1 - real2;virtual = virtual1 - virtual2;if (real == 0 && virtual == 0)System.out.println(0);else if (real == 0 && virtual != 0)System.out.println(virtual + "i");else if (real != 0 && virtual == 0)System.out.println(real);else {if (virtual > 0)System.out.println(real + "+" + virtual + "i");elseSystem.out.println(real + "-" + Math.abs(virtual) + "i");}}public void muls() // 乘{double real = real1 * real2 + virtual1 * virtual2 * (-1);double virtual = real1 * virtual2 + real2 * virtual1;if (real == 0 && virtual == 0)System.out.println(0);else if (real == 0 && virtual != 0)System.out.println(virtual + "i");else if (real != 0 && virtual == 0)System.out.println(real);else {if (virtual > 0)System.out.println(real + "+" + virtual + "i");elseSystem.out.println(real + "-" + Math.abs(virtual) + "i");}}public void divide()// 除{double real = (real1 * real2 + virtual1 * virtual2)/ (real2 * real2 + virtual2 * virtual2);double virtual = (real2 * virtual1 - real1 * virtual2)/ (real2 * real2 + virtual2 * virtual2);if (real == 0 && virtual == 0)System.out.println(0);else if (real == 0 && virtual != 0)System.out.println(virtual + "i");else if (real != 0 && virtual == 0)System.out.println(real);else {if (virtual > 0)System.out.println(real + "+" + virtual + "i");elseSystem.out.println(real + "-" + Math.abs(virtual) + "i");}}public void mod1() // 取模{double m = Math.sqrt(real1 * real1 + virtual1 * virtual1);System.out.println(m);}public void mod2() {double m= Math.sqrt(real2 * real2 + virtual2 * virtual2);System.out.println(m);}public void just() {if (real1 == real2 && virtual1 == virtual2)System.out.println("YES");elseSystem.out.println("NO");}
}package one;import java.util.Scanner;public class Conplextest {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubScanner sc1 = new Scanner(System.in);Complex c = new Complex();System.out.println("输入第一个复数:");c.real1 = sc1.nextDouble();c.virtual1 = sc1.nextDouble();System.out.println("输入第二个复数:");c.real2 = sc1.nextDouble();c.virtual2 = sc1.nextDouble();System.out.println("输入的2个复数和为::");c.add();System.out.println("输入的2个复数差为::");c.minus();System.out.println("输入的2个复数乘积为::");c.muls();System.out.println("输入的2个复数商为::");c.divide();System.out.println("第一个复数的模::");c.mod1();System.out.println("第二" + "个复数的模::");c.mod2();System.out.println("两个复数是否相同::");c.just();}
}

测试::
Test 1

输入第一个复数:
1 2
输入第二个复数:
-1 2
输入的2个复数和为::
4.0i
输入的2个复数差为::
2.0
输入的2个复数乘积为::
-5.0
输入的2个复数商为::
0.6-0.8i
第一个复数的模::
2.23606797749979
第二个复数的模::
2.23606797749979
两个复数是否相同::
NO

Test 2

输入第一个复数:
-1 -5
输入第二个复数:
1 -5
输入的2个复数和为::
-10.0i
输入的2个复数差为::
-2.0
输入的2个复数乘积为::
-26.0
输入的2个复数商为::
0.9230769230769231-0.38461538461538464i
第一个复数的模::
5.0990195135927845
第二个复数的模::
5.0990195135927845
两个复数是否相同::
NO

一口气写完之后感觉 卧槽真简单啊。。。。。 妈卖批:: C学多了,没在意Java 是面向过程的问题了。重写重写

加粗样式:; 面向对象java Complex编程

package demo01;import java.util.*;public class Complex {double re;double vi;Complex(double re, double vi) {this.re = re;this.vi = vi;}public Complex add(Complex c) {return new Complex(this.re + c.re, this.vi + c.vi);}public Complex minus(Complex c) {return new Complex(this.re - c.re, this.vi - c.vi);}public Complex muls(Complex c) {return new Complex(this.re * c.re + this.vi * c.vi * (-1), this.re* c.vi + this.vi * c.re);}public Complex divs(Complex c) {return new Complex((this.re * c.re + this.re * c.vi)/ (c.re * c.re + c.vi * c.vi),(c.re * this.vi - this.re * c.vi) / (c.re * c.re + c.vi * c.vi));}public Complex mod1(Complex c) {return new Complex(this.re * this.re, this.vi * this.vi);}public Complex mod2(Complex c) {return new Complex(c.re * c.re, c.vi * c.vi);}Double SQ() {double m = 0;m = Math.sqrt(this.re + this.vi);return m;}public String just(Complex c) {String str = null;if (this.re == c.re && this.vi == c.vi)str = "YES";elsestr = "NO";return str;}String show() {String str = null;if (this.re == 0 && this.vi == 0)str = "0";if (this.re == 0 && this.vi != 0)str = this.vi + "i";if (this.re != 0 && this.vi == 0)str = this.re + "" + "";if (this.re != 0 && this.vi != 0) {if (this.vi > 0)str = this.re + "+" + this.vi + "i";elsestr = this.re + "" + this.vi + "i";}return str;}
}
package demo01;import java.util.Scanner;public class ComplexTest {/*** @param args*/public static void main(String[] args) {double re1, re2, vi1, vi2;Scanner sc = new Scanner(System.in);System.out.println("请输入第一个复数::");re1 = sc.nextDouble();vi1 = sc.nextDouble();Complex c1 = new Complex(re1, vi1);// System.out.println(c1.show());System.out.println("请输入第一个复数::");re2 = sc.nextDouble();vi2 = sc.nextDouble();Complex c2 = new Complex(re2, vi2);System.out.println("复数和::");System.out.println(c1.add(c2).show());System.out.println("复数差::");System.out.println(c1.minus(c2).show());System.out.println("复数积::");System.out.println(c1.muls(c2).show());System.out.println("复数商::");System.out.println(c1.divs(c2).show());System.out.println("复数1 mod::");System.out.println(c1.mod1(c2).SQ());System.out.println("复数2 mod::");System.out.println(c1.mod2(c2).SQ());System.out.println("复数判断::");System.out.println(c1.just(c2));}
}

ok 加油!!!

java Complex 类相关推荐

  1. java实验 类和对象_java 实验(三) 类和对象

    一.实验目的和要求 1. 掌握类的构造函数的重载 2. 深入理解类和对象 3. 学习NetBeans中UML项目的创建类并生成相应代码的方法 二.实验内容和原理 设计一个复数类,能够完成复数之间的基本 ...

  2. java字符存储_用java的类集框架做一个字符存储器(15)

    11.这是java的关于java的类集框架做一个字符存储器的源代码可以直接进行编译运行,希望大家能够从中获益良多. package niming; //导入ArrayList这个类 import ja ...

  3. 干货:排名前 16 的 Java 工具类!

    2019独角兽企业重金招聘Python工程师标准>>> 干货:排名前 16 的 Java 工具类!   在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最 ...

  4. 排名前 16 的 Java 工具类

    转载来自微信公众号:Java 技术栈.如有侵权,请联系作者删除!! 在 Java 中,工具类定义了一组公共方法,这篇文章将介绍 Java 中使用最频繁及最通用的 Java 工具类.以下工具类.方法按使 ...

  5. Java枚举类使用方式

    Java枚举类使用方式 单枚举定义 : /*** * @title: 单枚举定义* @author: wll* @since: 2021-1-27 14:47:54*/ public enum Jud ...

  6. java流类图结构_java I/O 流总结

    一.java 流操作有关的类和接口: 类                                                                          说明 Fil ...

  7. Java Process类的浅学习

    Java Process类的浅学习 文章分类:Java编程 今天用了下java.lang.Process类,只是初步的学习,并没有深入实践,因为感觉它的用途并不是很大,偶尔才可能用上,如果要经常使用它 ...

  8. java File类 常用相关函数

    java File类 相关函数 1.构建函数 2.判断相关函数 4.创建相关函数 5.删除相关函数 6.获取相关函数 1.构建函数 /*** File 构造方法* file 常用构造方法* 1: Fi ...

  9. Java File类总结和FileUtils类

    Java File类总结和FileUtils类 文件存在和类型判断 创建出File类的对象并不代表该路径下有此文件或目录. 用public boolean exists()可以判断文件是否存在. Fi ...

  10. java反射类的字段

    java反射类的字段: package com.ma.reflection;import java.lang.reflect.Field;import org.junit.Test;import co ...

最新文章

  1. AngularJS学习笔记(3)——通过Ajax获取JSON数据
  2. linux欢迎界面设计,Ubuntu 18.04 LTS新增欢迎界面--方便用户快速上手新系统
  3. Maven简单的配置Junit测试及使用简单的mock
  4. 【matlab】面积图(area函数的应用)
  5. 命令提示符下对用户的操作
  6. cocos2d-x for wp8 设置横竖屏
  7. hexo next 主题安装 livere 评论插件
  8. Web十大安全隐患之XSS跨站脚本
  9. erp java 开源_华夏ERP完整开源版J2EE代码
  10. 张家口地区某一级公路设计--河北建筑工程学院
  11. asp.net母版页学习总结
  12. vue+css3 旋转木马效果
  13. 蓝桥杯 算法训练 一元三次方程求解
  14. FMM 大战 LMM - SOFR 企稳 Part III
  15. 写作必备文献搜索网大全
  16. 基于C#+SQL Server实现(Web)学生选课管理系统【100010309】
  17. 环保设施运行在线监控
  18. 蓝牙各种版本的区别(推荐)
  19. java开发环境搭建(一)
  20. 噼里啪智能·财税产品技术 VP 张芳:DI 和 AI 双引擎为智能财税保驾护航

热门文章

  1. 拉格朗日对偶性(Lagrange duality)
  2. MySQL篇之授权用户可以远程访问数据库
  3. 白帽子黑客生存环境变好,顶级人才年入千万
  4. 平板/笔记本亮度调节工具halo(WINDOWS)
  5. 一个非教条式的TDD例子
  6. php执行fastlane,fastlane使用说明
  7. caffe 6中优化方法并附带 对应的solver。prototxt代码
  8. 小程序 多线程Worker(类似h5的webWorker)
  9. 使用Arduino开发板制作自动药物提醒器
  10. 悲情陨落的十大民族品牌