我正在尝试做一个总和,但我总是得到那个类型错误。类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;
}
}
答案 0 :(得分:3)
替换
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);
答案 1 :(得分:0)
Constante
是一个对象,你不能添加对象(String
除外,这是一个特殊情况),因为它的含义会在一个对象之间变化,如果它有一个完全没意思。
Constante
可能有一个方法constante.add(otherConstante)
,或者如果它是你自己的类,你可以写一个。 .add()
方法最有可能添加Constante
中包含的任何数字值。
或者,如果您不需要对象行为,请停止使用类Constante
并开始使用double(或其他数字基元)。
Left
之类的变量名称不应按惯例以大写字母开头。类在UpperCamelCase中,变量在lowerCamelCase中。