테스트 테이블 첨부 파일에 표시된 첫 번째 테스트 실행에 대해 false를 반환하는 이유가 확실하지 않습니다. 지난 학기의 과제 중 하나 였지만 해결 방법을 찾지 못했습니다 :/나의 과제는 다음과 같습니다 :잘못된 출력을 반환하는 이유는 무엇입니까?
두 개의 매개 변수가 같은 크기의 정수 배열 인 oddsMatchEvens 메서드의 정의를 작성합니다. 각 배열의 크기는 짝수입니다. 이 메소드는 첫 번째 배열의 짝수 색인 요소가 두 번째 요소의 홀수 색인 요소와 동일한 경우에만 true를 반환합니다. 즉, w가 첫 번째 배열이고 q가 두 번째 배열 인 경우 w[0]
은 q[1]
이고, w[2]
은 q[3]
과 같습니다.
테스트 테이블
내 코드가 있었다 : 당신은 당신이 비교에만 w.length/2 인덱스를 갖고 있기 때문에
public boolean oddsMatchEvens(int[] w, int[] q) {
int count = 0;
for (int i = 0; i < w.length; i++) {
if (w[i] == q[i + 1])
count++;
if (count == (w.length - 1))
return true;
}
return false;
}
를 어느 시점 배열, Q에서 아웃 오브 바운드하게 될합니다. 루프는'i = 0; i
Michael
에서 갈 필요가 없습니다. 왜냐하면 그는 i
Kryptur
을 사용하기 때문에 그는 i + 1에서 q에 액세스하고 있습니다. – Michael