누군가가 다음 if 문에서 조건을 재정렬 할 때 설명 할 수 있습니까? 그렇지 않으면 StringIndexOutOfBoundsException이 throw됩니다.if 3 "및"(&&) 연산자를 사용하는 문으로 인해 재정렬시 오류가 발생합니다.
public int matchUp(String[] a, String[] b) {
int count = 0;
for (int i = 0; i < a.length; i++) {
if (a[i].length() > 0 && b[i].length() > 0 &&
a[i].charAt(0) == b[i].charAt(0)) {
count++;
}
}
return count;
}
기본적으로 제 질문은, 어떻게에서이 if 문
if (a[i].charAt(0) == b[i].charAt(0) &&
a[i].length() > 0 && b[i].length() > 0)
다른 경우 문 첫 번째 예를 들어 예외가 발생
if (a[i].length() > 0 && b[i].length() > 0 &&
a[i].charAt(0) == b[i].charAt(0)) {
count++;
}
:
matchUp(["", "", "ccc"], ["aa", "bb", "cc"]) → 1
을
이온 :
java.lang.StringIndexOutOfBoundsException: String index out of range: 0 (line number:6)
'a'의 길이가'b'의 길이보다 얼마나 길 수 있는지 어떻게 알 수 있습니까? –
문제 설명에 명시되어 있습니다 –