私のコードは、オブジェクトを含む でテストすると機能しますが、が空ArrayList
の場合は次のエラーが発生します。arrayList
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
私は何を間違えていますか?
面積が最小の を取得Rectangle
し、面積が最小の長方形を返すか、長方形null
がない場合に返します。
import java.util.ArrayList;
public class RectangleList
{
ArrayList<Rectangle> list = new ArrayList<Rectangle>();
public RectangleList(ArrayList<Rectangle> theList)
{
list = theList;
}
/**
* Gets the Rectangle with the smallest area
*
* @return the rectangle with the smallest area or null if there are no
* rectangles
*
*/
public Rectangle smallestArea()
{
Rectangle currentsmallestRectangle = list.get(0);
for (int i = 0; i < list.size(); i++) {
Rectangle nextRectangle = list.get(i);
if (list.isEmpty()) {
return null;
} else if ((nextRectangle.getWidth() * nextRectangle.getHeight()) < (currentsmallestRectangle
.getWidth() * currentsmallestRectangle.getHeight())) {
currentsmallestRectangle = nextRectangle;
}
return currentsmallestRectangle;
}
}
}