https://www.acmicpc.net/problem/10951
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
- 입력은 여러 개의 테스트 케이스로 이루어져 있다.
- 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
각 테스트 케이스마다 A+B를 출력한다.
예제
1) 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Baekjoon10951 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a;
int b;
while(scanner.hasNextInt()) {
a = scanner.nextInt();
b = scanner.nextInt();
System.out.println(a+b);
}
}
}
2) 풀이과정 및 공부한 내용
1. EOF(End Of File)
- 데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없음을 나타내는 용어.
- 알고리즘 문제를 풀 때 입력값을 얼마나 받을지 명시하지 않을 경우 이 EOF를 사용함.
* 파일의 끝을 알려주는 방법
- 이클립스에서는 Ctrl + Z가 파일의 끝을 말하는 EOF임(Windows 운영체제의 경우)
System.in
은 사용자가 ctrl + z 키를 입력하면 키 입력이 종료 하는것으로 인식- 따라서 파일의 개수가 정해지지 않았을때 파일의 끝을 명시하여 끝내고 싶을경우에는
hasNextInt()
를 사용후 ctrl + z 를 입력해 끝임을 알려주기
2. hasNextInt()
boolean hasNextInt()
:
Returns true if the next token in this scanner’s input can be interpreted as an int value in the default radix using the nextInt() method.boolean hasNextInt(int radix)
:
radix : 기수. radix를 매개변수로 사용할 경우 10진수로 인식할 때는 10을 입력하고 16진수로 인식할 때는 16을 입력하는 식으로 사용