문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
입력은 여러 개의 테스트 케이스로 이루어져 있다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
각 테스트 케이스마다 A+B를 출력한다.
코드
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int a,b;
while (sc.hasNextInt()){
a = sc.nextInt();
b = sc.nextInt();
System.out.println(a+b);
}
sc.close();
}
}
풀이
입력할때 별다른 설명이 없어서 먼저 구글링을 해보았다. 내가 자주 참고하는 Stranger's LAB님의 코드를 보니 EOF일 경우 종료한다. 하고 설명을 해주셨다.
EOF란
컴퓨팅에서, 파일 끝(End of File, EOF)는 데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없음을 나타낸다.
자바에서는 hasNextInt(), hasNext()를 사용해서 이 문제를 풀 수 있다. 그렇게 되면 엔터나 공백과 같은 입력을 받아들이지 않는다.
hasNextInt()는 키보드에서 입력된 값이 숫자이면 true을 반환하고 숫자가 아니면 false을 반환한다.
하지만 vs code에서 코드를 돌려보면 엔터를 입력했을 때 프로그램이 종료되지는 않는다.
다른 사람들은 Buffered...어쩌구를 많이 쓰던데 아직 그 메소드?에 대해서 잘 몰라서 나중에 다시 봐야할것같다.
'Programming > Algorithm' 카테고리의 다른 글
[백준] 10818번 : 최소,최대 (Java) (0) | 2021.07.11 |
---|---|
[백준] 1110번 : 더하기 사이클 (Java) (0) | 2021.07.10 |
[백준] 10952번 : A+B-5 (Java) (0) | 2021.07.10 |
[백준] 10871번 : X보다 작은 수 (Java) (0) | 2021.07.09 |
[백준] 2439번 : 별 찍기 -2 (Java) (0) | 2021.07.09 |
댓글