" t s s s" 같은 경우가 입력으로 주어진다면 8번 줄의 split이후 arr에는
{"", "t", "s", "s", "s"}와 같은 형식으로 저장됩니다.
이후 13번 줄에서 arr[0].charAt(0)에서 arr[0]은 빈 문자열 ("")을 갖고 있고, 이 문자열의 0번째 인덱스에 접근하려고 하니 인덱스 에러가 발생합니다.
위에 적어두신 코드는 " " (스페이스 한 칸)와 (char) 32를 비교하기 때문에 22가 출력이 되지만, 아래의 코드 같은 경우 "" (빈 문자열)의 0번째 인덱스에 접근하려고 하기 때문에 에러가 발생합니다.
rlaxodn0320 1년 전
처음 시작을 공백으로 하지 않으면 잘 작동하는데
(t s s s) -> 4
공백이 들어가는 순간
( t s s s) -> String index out of range: 0
이 뜹니다
혹시나 해서
import java.io.*;
public class Main {
public static void main(String args[]) {
String x = " ";
System.out.println(15);
System.out.println(x);
System.out.println(y);
System.out.println(15);
if(x.charAt(0) == (char) 32) {
System.out.println(22);
}
}
}
이렇게 따로 실행 해 봤을 때도 22가 잘 출력이 되는데
어느 부분이 문제인지 알 수 있을까요