- EOF(End of File) 처리
EOF -> 데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없음을 나타냄
- Scanner 클래스 사용
Scanner sc=new Scanner(System.in);
while(sc.hasNextLine()){ // 문자 입력의 경우
sc.nextLine(); // '\n'을 포함하는 한 라인을 읽도록
}
while(sc.hasNextInt()){ // int타입 입력의 경우
sc.nextInt(); // int 타입으로 입력받음
}
- BufferedReader 클래스
BufferedReader br=new BufferedReader(new InputStreamReader(System.in);
String str="";
while((str=br.readLine() != null){
if(str == null){
break;
}
}
cf. StringTokenizer
StringTokenizer -> 문자열을 입력하는 것이 아닌 받은 문자열을 가공하는 역할을 함
단순히 가공한 문자열 자체에서 원하는 행위를 함(EOF를 처리하는 것은 아님)
- 이 문제에서의 활용
방법 1
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb=new StringBuilder();
String str="";
while((str=br.readLine()) != null) {
StringTokenizer st=new StringTokenizer(str);
int A=Integer.parseInt(st.nextToken());
int B=Integer.parseInt(st.nextToken());
sb.append((A+B)+"\n");
}
br.close();
bw.write(sb.toString());
bw.flush();
bw.close();
}
}
방법 2
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb=new StringBuilder();
while(true) {
String str=br.readLine();
if(str == null) {
break;
}
StringTokenizer st=new StringTokenizer(str);
int A=Integer.parseInt(st.nextToken());
int B=Integer.parseInt(st.nextToken());
sb.append((A+B)+"\n");
}
br.close();
bw.write(sb.toString());
bw.flush();
bw.close();
}
}
'코딩테스트 > programming_JAVA' 카테고리의 다른 글
[Java] 프로그래머스_120853 : 컨트롤 제트 (0) | 2023.08.06 |
---|---|
[Java] 프로그래머스_181868 : 공백으로 구분하기 2 (0) | 2023.07.05 |
[Java] baekjoon_1110번 : 원래 수로 돌아올 때까지 연산 반복 (0) | 2021.09.04 |
[Java] baekjoon_10871번: StringBuilder (0) | 2021.09.02 |
[Java] baekjoon_15552번: BufferReader, BufferWriter (0) | 2021.08.31 |