java:实现复数类Complex 成员属性: real, imag 分别表示实部,虚部

Python015

java:实现复数类Complex 成员属性: real, imag 分别表示实部,虚部,第1张

‍public

class

Complex{

private

Double

real//实部,类型为Double类

private

Double

imag//虚部,类型为Double类

/*构造函数一(一般构造函数都是初始化一些成员,如

这里的real,imag)

*/

public

Complex(Double

a,Double

b){

real=a

imag=b}

/*构造函数二:根据已有复数创建对象,就是复制复数p

的两个成员值了

*/

public

Complex(Complex

p){

real=p.real

imag=p.imag}

/*构造函数三,空参数构造函数,调用它将会产生实例

为0的对象

*/

public

Complex(){

real=0.0

imag=0.0}

/*成员方法,实现加法。复数的相加或相减,其实是各实部与虚

部的相加减,

*/

public

Complex

add(Complex

oth){

//创一个新的Complex用来保存相加后得到的复数

Complex

plextem=new

Complex()

//实部相加

plextem.real=real+oth.real

//虚部相加

plextem.imag=imag+oth.imag

//返回已保存在plextem的相加后的复数

return

plextem

}

/*成员方法

实现减法。同加法一样。

*/

public

Complex

cut(Complex

oth){

Complex

plextem=new

Complex()

plextem.real=real-oth.real

plextem.imag=imag-oth.imag

return

plextem

}

/*用来显示或打印复数,也就是人们眼中的复数形式,为:

5.4+10.2i,4.2+(-1.2)i等

*/

public

void

print(){

System.out.println(real+"+"+imag+"i")

}

}

import java.util.Scanner

public class Complex {

private int realPart

private int imagPart

public int getRealPart() {

return realPart

}

public void setRealPart(int realPart) {

this.realPart = realPart

}

public int getImagPart() {

return imagPart

}

public void setImagPart(int imagPart) {

this.imagPart = imagPart

}

public Complex plus(Complex c){

int real=this.realPart+c.realPart

int imag=this.imagPart+c.imagPart

Complex result=new Complex()

result.setRealPart(real)

result.setImagPart(imag)

return result

}

public Complex minus(Complex c){

int real=this.realPart-c.realPart

int imag=this.imagPart-c.imagPart

Complex result=new Complex()

result.setRealPart(real)

result.setImagPart(imag)

return result

}

public String format(){

if(this.imagPart<0){

return this.realPart+(this.imagPart+"i")

}else{

return this.realPart+"+"+this.imagPart+"i"

}

}

public static void main(String[] args) {

System.out.println("请输入第一个复数(格式:a+bi):")

Scanner in=new Scanner(System.in)

String complex1=in.nextLine()

System.out.println("请输入第二个复数(格式:a+bi):")

String complex2=in.nextLine()

Complex c1=new Complex()

Complex c2=new Complex()

String[] c1Arr=complex1.split("\\+")

int real1=Integer.parseInt(c1Arr[0])

int imag1=Integer.parseInt(c1Arr[1].substring(0, 1))

c1.setRealPart(real1)

c1.setImagPart(imag1)

String[] c2Arr=complex2.split("\\+")

int real2=Integer.parseInt(c2Arr[0])

int imag2=Integer.parseInt(c2Arr[1].substring(0, 1))

c2.setRealPart(real2)

c2.setImagPart(imag2)

System.out.println("第一个复数+第二个复数:"+c1.plus(c2).format())

System.out.println("第一个复数-第二个复数:"+c1.minus(c2).format())

}

}