我试图做一个总和,但我总是会遇到类型错误。OperateurBinair类有两个类型为Constante的参数,Constante是我在其中创建值的类(type = double)。
public class Plus extends OperateurBinair {
Constante Left;
Constante Right ;
Constante Somme ;
Plus() {
super();
Left = new Constante();
Right = new Constante();
}
Plus(Constante x , Constante y) {
super(x,y);
Left=x;
Right=y;
}
Constante addition() {
return Left + Right;
}
}
最佳答案
更换
return Left + Right;
与
return Constante(Left.getter() + Right.getter());
getter
是您实际尝试求和的任何值的getter
方法。这也假定您有一个Constante
的构造函数,该构造函数带有一个double
参数。如果没有,您将需要更多类似以下内容:Constante sum = new Constante;
sum.setter(Left.getter() + Right.getter());
return sum;
(或者只是添加一个需要两倍的构造函数。)
或者,您可以向
Constante
添加方法进行求和。public static Constante sum(Constante addend1, Constante addend2) {
//do whatever logic you want for summing these and return a Constante
//with the new value
}
然后,在您当前正在上课的班级中,您可以执行以下操作:
return Constante.sum(Left, Right);