https://www.acmicpc.net/problem/10951
정답
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
StringBuilder sb = new StringBuilder();
String str;
while((str=br.readLine())!=null){
st = new StringTokenizer(str, " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
sb.append(a+b).append('\n');
}
System.out.print(sb);
}
}
풀이과정
while(!(str=br.readLine()).isEmpty()) 단독으로 못 쓰는 이유
- br.readLine() 끝에 도달하면 null을 반환하게 되는데, 이 때 null에 대해 isEmpty() 메소드를 호출하면
NullPointerException 발생합니다.
해결방법
- null 체크 먼저 한 후에 isEmpty() 사용해야 합니다.
즉, str !=null 인지 확인하고 isEmpty() 확인 해야 합니다.
'JAVA > 백준' 카테고리의 다른 글
[Java11] 10871번 : X보다 작은 수 (0) | 2024.09.11 |
---|---|
[Java11] 10807번 : 개수 세기 (0) | 2024.09.11 |
[Java11] A+B -5 (0) | 2024.09.11 |
[Java11] 2439번 : 별 찍기 -2 (0) | 2024.09.11 |
[Java11] 2438번 : 별 찍기 - 1 (0) | 2024.09.11 |