用java定义一个复数类Complex,能够创建复数对象,并且实现复数之间的加、减运算

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用java定义一个复数类Complex,能够创建复数对象,并且实现复数之间的加、减运算相关的知识,希望对你有一定的参考价值。

复数具有实部和虚部两部分,如2+5i就是一个复数,其中2为实部,5i为虚部;两复数相加时, 实部与实部相加, 虚部与虚部相加。两复数相减时,实部与实部相减, 虚部与虚部相减。
如(2+5i)+(3-4i)=5+1i
(2+5i)-(3-4i)=-1+9i
现在要求定义一个复数类Complex,能够创建复数对象,并且实现复数之间的加、减运算,在main()函数中测试该类。
我需要全部代码,急用,谢谢了~

public class ComplexDemo
// main方法
public static void main(String[] a)
Complex b = new Complex(2, 5);
Complex c = new Complex(3, -4);
System.out.println(b + "+" + c + "=" + b.add(c));
System.out.println(b + "-" + c + "=" + b.minus(c));
System.out.println(b + "*" + c + "=" + b.multiply(c));
System.out.println(b + "/" + c + "=" + b.divide(c));



// Complex类
class Complex
private double m;// 实部
private double n;// 虚部

public Complex(double m, double n)
this.m = m;
this.n = n;


// add
public Complex add(Complex c)
return new Complex(m + c.m, n + c.n);


// minus
public Complex minus(Complex c)
return new Complex(m - c.m, n - c.n);


// multiply
public Complex multiply(Complex c)
return new Complex(m * c.m - n * c.n, m * c.n + n * c.m);


// divide
public Complex divide(Complex c)
double d = Math.sqrt(c.m * c.m) + Math.sqrt(c.n * c.n);
return new Complex((m * c.m + n * c.n) / d, Math.round((m * c.n - n * c.m) / d));


public String toString()
String rtr_str = "";
if (n > 0)
rtr_str = "(" + m + "+" + n + "i" + ")";
if (n == 0)
rtr_str = "(" + m + ")";
if (n < 0)
rtr_str = "(" + m + n + "i" + ")";
return rtr_str;

参考技术A 定义2个成员变量,一个放实数,一个放虚数,再定义一个caculate方法,传进一个complex参数,计算后返回一个complex结果对象。
package test;

public class Complex
private int shishu;

private int xushu;

public Complex(int shishu, int xushu)
this.shishu = shishu;
this.xushu = xushu;


public Complex add(Complex complex)
return new Complex(this.shishu + complex.getShishu(), this.xushu + complex.getXushu() );


public Complex cut(Complex complex)
return new Complex(this.shishu - complex.getShishu(), this.xushu - complex.getXushu() );


public String toString()
if (this.xushu == 0)
return "" + this.shishu;
else if (this.xushu > 0)
return this.shishu + "+" + this.xushu + "i";
else
return this.shishu + "" + this.xushu + "i";



/**
* @param args
*/
public static void main(String[] args)
Complex a = new Complex(5,2);
Complex b = new Complex(4,3);
System.out.println(a);
System.out.println(b);
System.out.println(a.add(b));
System.out.println(a.cut(b));



public int getShishu()
return shishu;


public int getXushu()
return xushu;



运行结果:
5+2i
4+3i
9+5i
1-1i
参考技术B 用着这么麻烦吗?杀鸡你非得用拖拉机给它压死,至于吗

python里面啥复数类型?

复数(Complex)是 Python 的内置类型,直接书写即可。换句话说,Python 语言本身就支持复数,而不依赖于标准库或者第三方库

复数由实部(real)和虚部(imag)构成,在 Python 中,复数的虚部以j或者J作为后缀

复数由于其在日常使用中的重要性,在Python3中,终于进入了四大基本数字类型的行列,同整型int,浮点型float,布尔型bool并列。复数类型的基本表达方式是a+bj,其中a代表实部,b代表虚部, j可以大小写随意。

复数是由一个实数和一个虚数组合构成,表示为:x+yj

一个复数是一对有序浮点数 (x,y),其中 x 是实数部分,y 是虚数部分。

Python 语言中有关复数的概念:

1、虚数不能单独存在,它们总是和一个值为 0.0 的实数部分一起构成一个复数

2、复数由实数部分和虚数部分构成

3、表示虚数的语法:real+imagej

4、实数部分和虚数部分都是浮点数

5、虚数部分必须有后缀j或J

复数的内建属性:

复数对象拥有数据属性,分别为该复数的实部和虚部。

复数还拥有 conjugate 方法,调用它可以返回该复数的共轭复数对象。

复数属性:real(复数的实部)、imag(复数的虚部)、conjugate()(返回复数的共轭复数)

以上是整理后的复数信息,希望能帮到你,谢谢!

参考技术A 复数好像是高中内容,由实部和虚部构成,可以想象为直角坐标系中的一点,坐标为(x,y),表示为复数就是x + yi,i是标志虚部的符号。从圆点到(x,y)的距离称为复数的模,表示为|x+yi|
python中,直接写成x+yj就是复数,如2 + 3j。复数是数值型中的一种。

以上是关于用java定义一个复数类Complex,能够创建复数对象,并且实现复数之间的加、减运算的主要内容,如果未能解决你的问题,请参考以下文章

用JAVA定义个复数类

C++编程,定义一个复数类

用java 编写一个复数类

java构造一个复数类

定义一个复数类Complex,复数的实部real与虚步image定义为私有数据成员,

课堂小练习(complex类)