62,614
社区成员
发帖
与我相关
我的任务
分享
public class ComplexNumber {
private double realpart;
private double imaginarypart;
/**
* 有参数的构造方法,传入的参数分别为虚数的实部和虚部
* @param realpart 实部
* @param imaginarypart 虚部
*/
public ComplexNumber(double realpart, double imaginarypart) {
this.realpart = realpart;
this.imaginarypart = imaginarypart;
}
/**
* 无参的构造方法,默认初始化为实部和虚部都是0,调用有参的构造方法
*/
public ComplexNumber() {
this(0,0);
}
/**
* 得到实部的值
* @return 实部的值
*/
public double getRealpart() {
return realpart;
}
/**
* 设置实部的值
* @param realpart 实部的值
*/
public void setRealpart(double realpart) {
this.realpart = realpart;
}
/**
* 返回虚部的值
* @return 虚部的值
*/
public double getImaginarypart() {
return imaginarypart;
}
/**
* 设置虚部的值
* @param imaginarypart 虚部的值
*/
public void setImaginarypart(double imaginarypart) {
this.imaginarypart = imaginarypart;
}
/**
* 复数的加法,当前的复数加上传入的另外一个复数,实部和实部相加,虚部和虚部相加
* @param cn 传入的参数
*/
public void add(ComplexNumber cn) {
this.setRealpart(this.getRealpart() + cn.getRealpart());
this.setImaginarypart(this.getImaginarypart() + cn.getImaginarypart());
}
/**
* 复数的减法,当前的复数减去传入的另外一个复数,实部减实部,虚部减虚部
* @param cn 传入的参数
*/
public void minus(ComplexNumber cn) {
this.setRealpart(this.getRealpart() - cn.getRealpart());
this.setImaginarypart(this.getImaginarypart() - cn.getImaginarypart());
}
/**
* 返回表示复数的字符串,形式为(a+bi)
*/
@Override
public String toString() {
StringBuffer sb = new StringBuffer();
sb.append(this.getRealpart());
if(this.getImaginarypart() >= 0) {
sb.append("+");
sb.append(this.getImaginarypart());
} else {
sb.append(this.getImaginarypart());
}
sb.append("i");
return sb.toString();
}
public static void main(String[] args) {
ComplexNumber cn1 = new ComplexNumber(10,23);//调用有参的构造方法来new一个复数对象
ComplexNumber cn2 = new ComplexNumber();//调用无参的构造方法来new一个复数对象
cn2.setRealpart(25);//设置cn2的实部和虚部
cn2.setImaginarypart(4);
System.out.println("第一个复数为:" + cn1);
System.out.println("第二个复数为:" + cn2);
//复数加法,结果保存在cn1中
cn1.add(cn2);
//打印两个复数相加的和
System.out.println("cn1和cn2的和为:" + cn1);
//复数想减,结果保存在cn1中
cn1.minus(cn2);
//打印两个复数相加的差
System.out.println("cn1和cn2的差为:" + cn1);
}
}