상세 컨텐츠

본문 제목

[baekjoon] java bufferedReader while 쓸 때 주의할 점

Algorithms/BaekJoon

by Jjiveloper 2022. 6. 15. 15:13

본문

728x90

별건 아니고, 백준을 풀다가 이유 모를 런타임 에러가 발생했다.

로컬에서 테스트시엔 괜찮았는데 백준에 제출하니까 에러가 발생하길래 원인을 한참 찾았다...

 

[에러]

 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String tmp = "";
    ArrayList<String> input = new ArrayList<>();

    while ((tmp = br.readLine().trim()) != null) {
      input.add(tmp);
    }

입력이 개수를 정하지 않고 들어올 때 나는 while문을 통해

BuffrededReader로 입력을 한줄 씩 읽고, 해당 값이 null이면 입력을 그만 받아오게 작성하였다.

 

문제는 while 안의 tmp = br.readLine().trim() 문장이였다.

 

 

[수정]

 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String tmp = "";
    ArrayList<String> input = new ArrayList<>();

    while ((tmp = br.readLine()) != null) {
      input.add(tmp);
    }

trim()을 빼고 진행하면 아무런 문제 없이 잘 작동한다.

728x90
반응형

관련글 더보기