抱歉,如果这是一个原始话题,我有一位不会说英语的教授,我很迷茫。
我正在尝试声明一个检查三角形是否等边的方法。它一直告诉我,我在 if 语句中将布尔值与 int 进行比较。side1、side2 和 side3 都是 int 类型。
public boolean is_equilateral(){
if (side1 == side2 == side3){
return true;
}
return false;
}
提前感谢您的帮助!
在您的比较if (side1 == side2 == side3)
中,它将首先比较side1 == side2
,产生一个布尔值。
然后它将第一个结果 ( boolean
) 与最后一个元素 ( int
) 进行比较,从而给出错误。您无法将 aboolean
与 a 进行比较int
。
该表达式的side1 == side2
计算结果为布尔值,因此您无法将其与另一个 int 进行比较。但你可以这样做:
if((side1 == side2) && (side2 == side3)) {
...
}
利用
side1 == side2 && side1 == side3
反而。
利用
if((side1 == side2) && (side2 == side3))
代替
如果(边 1 == 边 2 == 边 3)