https://www.acmicpc.net/problem/10951

문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력

  • 입력은 여러 개의 테스트 케이스로 이루어져 있다.
  • 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

각 테스트 케이스마다 A+B를 출력한다.

예제

image

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을 입력하는 식으로 사용