0
我正在轉換一個寫入數組的方法,用於查找從main傳遞的ArrayList的模式。一路上我正在擊中和索引錯誤。我確定它是一個明顯的錯誤,但只是沒有看到它。會愛另一雙眼睛在這!無法看到IndexOutOfBoundsException
public static int getMode(ArrayList<Integer> a)
{
int i ,j ,ctr=0 ,wantedScore ,maxsofar ,position=0 ,mode;
ArrayList<Integer> ctrArray = new ArrayList<>(a.size());
for(i=0; 1< a.size(); i++)
{
wantedScore = a.get(i);
for(j=i+1; j < a.size(); j++)
{
if(a.get(i)==wantedScore)
{
ctr++;
}//End IF
ctrArray.add(ctr);
}//End Inner Loop
}//End Outer For Loop
//Find highest value counter
maxsofar=a.get(0);
for(i=0; i< a.size(); i++)
{
if(ctrArray.get(i)>maxsofar)
{
maxsofar=ctrArray.get(i);
position=i;
}//End If
}//End For Loop
if(maxsofar>0)
mode=a.get(position);
else
mode=-1;
return mode;
}//End getMode
我越來越如果數組列表中包含值1,2,3是錯誤: 異常線程 「main」 java.lang.IndexOutOfBoundsException:指數:3,大小:3
你爲什麼不使用的for-each: '的for(int i均有:一個){...' –