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 (슬롯 머신과 같은)을 스캔하기로되어 있고 그렇지 않으면 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