我无法弄清楚为什么此方法仅返回索引(0),而不会循环浏览阵列列表以比较其他元素...思想?
public Shipment getLargest() {
//Set variable to equal a largest element
Shipment largest = (Shipment)shipmentList.get(0);
//Loops through and compares Shipment element values
for(int i=0; i<shipmentList.size() - 1; i++)
{
if((shipmentList.get(i)).equals(largest))
largest = shipmentList.get(i);
}
//Returns largest Shipment element
return largest;
}
您的循环长度不正确。从for条件下删除-1。虽然i
小于大小,但它将到达最后一个元素(size-1)
for(int i=0; i<shipmentList.size(); i++)
另外,您正在将"最大"值与平等值进行比较,何时应该检查以前的"最大"是否大于当前的"最大"。