对于我的任务,我将在扩展Number的层次结构中创建5个Classes。我将为具有两个参数和类的返回类型的每个类创建加法减法乘法和删除的方法。
每个类的方法语法都是相同的。它们都会导致Dr. Dr.的交互窗格中出现崩溃,并且不会返回任何错误。
如何解决此问题?
public class ComplexN extends Number{
private double value1;
private double value2;
public ComplexN(double real, double imaginary){
this.value1=real;
this.value2=imaginary;
}
public double getRealPart(){
return value1;
}
public double getImaginaryPart(){
return value2;
}
public static ComplexN add(ComplexN a, ComplexN b){
ComplexN sum = new ComplexN((a.getRealPart()+b.getRealPart()),(a.getImaginaryPart()+b.getImaginaryPart()));
return sum;
}
}
答案 0 :(得分:2)
在咨询我的教授后,我确定了问题。
博士。 Java与Java 6.0存在兼容性问题,当您在未显式使用toString()的情况下打印对象的值时会导致安全性错误。
所以使用:
(a.add(a,b)).toString()
而不是:
a.add(a,b)
或类似地:
a.toString()
而不是:
a
...将在短期内解决问题。同时使用类扩展Object而不是Number将修补此错误。