tjdals333   3년 전


여기서  st = new StringTokenizer(bf.readLine()," "); 을 ---------- 위치에 선언을 하면 오류메세지가나오고

**************위치에 선언을하면은 정상작동이되는데 이유가있나요??

eoy1313   3년 전

입력이 어떻게 되는데요?

rhtkdwls   3년 전

st = new StringTokenizer(bf.readLine()," ");

이라고 적는다면

bf.readLine()

이 한 줄을 읽기 때문에 아래와 같은 상황이 생깁니다.

입력 첫 줄에 num1에 넣어야 하는 값이 있다는 가정에서,

1) st를 "----------------" 위치에 선언하면, num1에는 두 번째 줄이 parseInt 처리됩니다. st에는 첫 번째 줄이 들어가 있겠죠.

2) st를 "****************" 위치에 선언하면, num1에는 첫 번째 줄이 parseInt 처리됩니다. st에는 두 번째 줄이 들어가 있겠죠.

저의 경우에는, 입력 첫 줄부터 StringTokenizer 를 써야 하는 경우가 아니라면

StringTokenizer st;

라고만 선언하고, 나중에 필요할 때마다

st = new StringTokenizer(bf.readLine());

이렇게 씁니다.

감사합니다.

tjdals333   3년 전

답변주신 rhtkdwls 님 감사합니다

이해가되었습니다. 

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