-4
여기에이 코드가 있는데 임의의 점을 중심으로 모든 값을 확인하고 == 1인지 확인하고 싶지만 배열 테두리에있는 값을 확인하면 "ArrayIndexOutOfBoundsException"오류가 발생합니다. 나는 많은 것들을 시도했지만 그것을 작동시키지 못합니다. 어떤 도움을 주시면 감사하겠습니다! i
0이면 i - 1
이므로 -1 배열에 대한 유효하지 않은 인덱스오류없이 범위를 체크 아웃하는 방법은 무엇입니까?
if (arr[i + 1][j] == 1) {
arr[i][j] = 1;
return true;
}
else if (arr[i - 1][j] == 1) {
arr[i][j] = 1;
return true;
}
else if (arr[i][j + 1] == 1) {
arr[i][j] = 1;
return true;
}
else if (arr[i][j - 1] == 1) {
arr[i][j] = 1;
return true;
}
else {
return false;
}
코드가 배열에서 사용할 수없는 인덱스의 요소에 액세스하려고하므로 코드를 디버그하고 배열 길이를 확인한 다음 코드가 불완전하여 아무도 정확한 문제 코드에 대해 말할 수 없기 때문에 사용하고있는 인덱스 값 –
내 첫 번째 추측은 i & j를 달성하기 위해 사용하는 모든 루프가 배열을 시작한다는 사실을 계산하지 않는다는 것입니다 따라서 인덱스 0에서 배열의 인덱스를 찾으려고합니다. 배열의 마지막 요소가 1- arraySize라는 것을 알고 있습니다. –
경계 검사를 알고 있습니다. 어쨌든 그 점수를 비교할 필요가 있으며 오류가 발생하지 않고이를 수행 할 방법이 필요합니다. 나는 그것을 피하기 위해 여러 가지 방법을 시도했지만 작동하도록했습니다. –