【发布时间】:2013-08-07 21:08:53
【问题描述】:
我正在做一个将一种方法与另一种方法结合起来的练习。我知道getMinMax() 方法有一个空数组,但这与练习的目的无关。
代码:
public class Square{
int area;
public Square[] getMinMax(Square[][] arr){
Square[] list = new Square[2];
return list;
}
public int getArea(){
return area;
}
public boolean isDifferenceSignificant(Square[][] arr){
boolean isit = false;
Square [] result = getMinMax (arr);
if((result[1] - result[0])< 0.5) //The line (16) in question
isit = true;
return isit;
}
}
编译时出现以下错误:
Square.java:16: error: bad operand types for binary operator '-'
if((result[1] - result[0])< 0.5)
^
first type: Square
second type: Square
1 error
我只是迷路了,想知道为什么会发生这个错误。
编辑:Rohit Jain 说“你可能是说 - result[1].getArea() - result[0].getArea()”
并且 Lochemage 说“if((result[1].getArea() - result[0].getArea())
这两种方法都可以,感谢您的宝贵时间!
【问题讨论】:
-
你的意思可能是-
result[1].getArea() - result[0].getArea() -
@Heuster。 OP 在第一行写了无关紧要的内容。所以,可能他没有返回一个空数组。
-
@Rohit 哎呀,错过了那一行 :) 在您发表评论前一秒钟看到它
-
@RohitJain OP 实际上声明
getMinMax定义无关紧要,而不是getArea -
@Lochemage。是的,这就是我所说的。正如目前的情况,这就是可以抛出 NPE 的原因。
标签: java arrays if-statement methods