kkl5083   2년 전

2차원 배열을 입력받는 부분을 split을 사용해 다음과 같이 했더니 런타임 에러가 떠서 StringTokenizer로 바꿨더니 되었습니다.

split과 StringTokenizer(토큰 사이에 값 없으면 생략)의 차이를 알고있고 배열을 입력받는 것은 split을 사용하는 것이 맞다고 생각하여 split을 사용했는데, 런타임 에러가 나는 이유가 궁금합니다.

for(int i=0;i<n;i++){
    str=br.readLine().split(" ");
    for(int j=0;j<n;j++){
        arr[i][j]=Integer.parseInt(str[j]);
    }
}


isku   2년 전

split을 하고 각 원소를 출력해보셨나요?

"5  0  9 10"

위 예제를 split(" ") 하면

"5", "", "0", "", "9", "10"

가 됩니다

kkl5083   2년 전

입력 자체가 그렇게 주어지는 거군요ㅠ

댓글을 작성하려면 로그인해야 합니다.