我试图做一个总和,但我总是会遇到类型错误。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);

09-11 18:51