public class LocalMinimum {
public static void main(String[] args) {
int[] A = {8, 5, 7, 2, 3, 0, 1, 9};
for (int i = 0; i < A.length; ++i) {
int prevValue = A[i - 1];
int nextValue = A[i + 1];
if ((A[i] < prevValue) && (A[i] < nextValue)) {
System.out.println(A[i] + " is a minimum value.");
}
else {
System.out.println(A[i] + " is not a minimum value.");
}
}
}
}
오류 : 스레드 "주요"java.lang.ArrayIndexOutOfBoundsException의 예외 : -1 결코 범위를 벗어 없도록 A의 itens에 액세스하려고 할 때 모듈을 사용한다이 배열에서 로컬 최소값을 찾아야하지만 arrayindexoutofbounds 예외가 발생합니다. 이 문제를 어떻게 해결할 수 있습니까?
'A.length - 1'로 반복하십시오. 지금 현재'A.length'를 반복하기 때문에 범위를 벗어나는'A [i + 1]'을하려고합니다. – Li357
A [i - 1]에서 범위를 벗어날 수 있기 때문에 여전히 같은 오류 메시지가 표시됩니다. –
1에서 시작하십시오. – Li357