我的代碼工作時與包含對象的ArrayList
測試,但放出來的時候,arrayList
是空以下錯誤:什麼我收到錯誤java.lang.IndexOutOfBoundsException與空的ArrayList
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
?
獲取Rectangle
面積最小 面積最小或null
返回矩形如果 沒有矩形。當數組列表是空的0:
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;
}
}
}
如果您的'List'爲空,則無法訪問索引爲0的元素。 –
檢測您是否有一個帶'size()'方法的空'ArrayList';你必須以某種方式處理該條件:返回'null',或拋出'Exception',或者... – rgettman
並且爲了將來的參考,包括行號(並突出顯示哪一行)拋出異常的地方非常有用。 – nhgrif