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