使用OOP结构添加和减去复数

我这里有一个代码,应该打印两个复数的和和差。 给出的指示是:
使方法addsubtractprint void
使用构造函数的对象进行测试。

 public class Complex { /** * @param args */ public double real; public double imag; public String output = ""; public Complex(double real, double imag){ this.real += real; this.imag += imag; } public Complex(){ real = 0; imag = 0; } public double getReal(){ return real; } public void setReal(double real){ this.real = real; } public double getImag(){ return imag; } public void setImag(double imag){ this.imag = imag; } public void add(Complex num){ this.real = real + num.real; this.imag = imag + num.imag; } public void subtract(Complex num){ this.real = real - num.real; this.imag = imag - num.imag; } public void print(){ // } public static void main(String[] args) { // TODO Auto-generated method stub Complex c1 = new Complex(4.0, 8.5); Complex c2 = new Complex(8.0, 4.5); c1.add(c2); c1.subtract(c2); c1.print(); //expected answer 12.0 + 13.0i //-4.0 - 4.0i } } 

预期答案是12.0 + 13.0i和-4.0 – 4.0i。 请帮我print方法。 谢谢。

也许这不是你想要的,但是打印数字不足以在你的打印方法中做出类似的东西吗?

System.out.print(“数字是:”+真实+“+ i”+想象);

  public void print(){ if(this.imag <0){ System.out.println(this.real+" "+this.imag+"i"); } if(this.imag >0){ System.out.println(this.real+"+"+this.imag+"i"); } } 

你错误地使用print merhod。 如果你想看到正确的结果,你需要重写这样的添加方法:

 public void add(Complex num, Complex num2){ this.real = num.real + num2.real; this.imag = num.imag + num2.imag; } 

重写减法方法也。

 public void subtract(Complex num){ this.real = real - num.real; this.imag = imag - num.imag; } 

现在main方法看起来像这样:

 public static void main(String[] args) { Complex c1 = new Complex(4.0, 8.5); Complex c2 = new Complex(8.0, 4.5); Complex result = new Complex(8.0, 4.5); result.add(c1,c2); result.print(); result.subtract(c1,c2); result.print(); 

我之前告诉过的打印方法如下:

 public void print(){ System.out.println(real + " " + imag +"i"); } 

说明:

在您的代码中,您有错误。 将c2添加到c1然后减去c2 frim c1然后打印结果。 数学上看起来像:c1 = c1 + c2-c2;

Interesting Posts