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.Scannerpublic 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())
}
}