Backend/JAVA
[백준 10951] 입력이 끝날때까지 입력값을 받아 결과를 출력하기
응애개발자 애기
2021. 12. 8. 17:27
728x90
반응형
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
while(scan.hasNextInt()){ // 입력이 끝날 때까지 반복하게 함
int A = scan.nextInt();
int B = scan.nextInt();
System.out.println(A+B);
}
}
}
해당 문제는 EOF에 관해서 고민을 하게 해준다.
EOF는 end of file 의 약자이다.
정해진 반복횟수가 없을 때 프로그램의 끝을 선언해주는 것이다.
Scanner를 이용한다면 상단의 메서드 hasNextInt() ... hasNextLine() 등을 사용하여
다음 입력이 있는지 확인 후 종료할 것인지 정하도록 한다.
BufferedReader를 사용하면,
입력의 끝에서 true나 false가 아닌 null을 반환하기 때문에 반복문의 식은 이렇게 된다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb= new StringBuilder();
String str = "";
while((str=br.readLine())!=null){
int A = str.charAt(0) - 0;
int B = str.charAt(2) - 0;
sb.append(A+B).append("\n");
}
System.out.print(sb);
}
}
윈도우의 경우 ctrl + Z, 리눅스 계열의 경우 ctrl + D를 입력하면 EOF를 입력할 수 있다.
728x90