0
public boolean horizontal(Populate a, int[][][] ar, int row, int col, int dep)
{
ar = new int[6][6][6];
a.pop(ar);
for(dep=0;dep<6;dep++)
{
for(col=0;col<6;col++)
{
for(int count=0;count<5;count++)
{
int num = ar[row][col][dep];
int num1 = ar[row+1][col][dep];
if(num==num1)
{
count1++;
}
row++;
}
}
}
if(count1==5)
return true;
else
return false;
}
這段代碼應該掃描一個水平6行的3D數組(如老虎機),如果是,則返回true,否則返回false。它編譯時會得到一個ArrayOutOfBoundsException:6,當我嘗試運行它時。ArrayIndexOutOfBoundsException:6
for(int count=0;count<5;count++)
即使我嘗試改變上面是這樣的下面(如在剛剛降低環路走多遠)這條線,但仍超出界限的。
for(int count=0;count<2;count++)
任何建議或解決方案,讚賞。謝謝。
這是我稱之爲方法的地方,如果有幫助的話。
public class runCheck
{
public static void main(String[] args)
{
Populate ch = new Populate();
int[][][] ar = new int[6][6][6];
ch.pop(ar);
ArrayList al = new ArrayList();
scan a = new scan();
boolean abool = a.horizontal(ch,ar,0,0,0);
if(abool==true)
al.add(true);
}
}
顯示ArrayIndexOutOfBounds時,這意味着您的數組上的索引超出了初始化的大小。 –
當你需要分配或訪問數組,並檢查它會在哪裏遇到異常時,回顯每個索引 –
@BlackMaggie Maggie對不起,但是你是什麼意思**回顯**每個索引? – user2238469