EOF 란?
End of File, 더이상 데이터가 존재하지 않을 경우 반복문을 종료하는 것.
ctrl + Z(윈도우)
ctrl + D(리눅스) 로 종료
3가지 방법이 있다.
1. BufferedReader + StringTokenizer
2. BufferedReader + String.charAt()
3 .Scanner
1. BufferedReader + StringTokenizer
import java.io.*;
import java.util.StringTokenizer;
public class Main
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
String str;
while((str=br.readLine()) !=null) {
st = new StringTokenizer(str, " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
sb.append(a+b).append("\n");
}
System.out.println(sb);
}
}
2. BufferedReader + String.charAt()
import java.io.*;
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) - 48;
int b = str.charAt(2) - 48;
sb.append(a+b).append("\n");
}
System.out.println(sb);
}
}
3. Scanner
import java.io.*;
import java.util.Scanner;
public class Main
{
public static void main(String[] args) throws IOException
{
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
while(sc.hasNext()) {
int a = sc.nextInt();
int b = sc.nextInt();
sb.append(a+b).append("\n");
}
System.out.println(sb);
}
}
성능비교
위부터 순서대로
Scanner
BufferedReader + String.charAt()
BufferedReader + StringTokenizer
'Baekjoon' 카테고리의 다른 글
[Java/Algorithm] 백준 10818번: 최소, 최대 구하기 (배열o, 배열x) (0) | 2023.11.12 |
---|---|
[Java/Algorithm] 백준 10871번: X보다 작은 수 (0) | 2023.11.12 |
[Java/Algorithm] Java11에 추가된 String 메소드 repeat()로 코드 단축하기 (0) | 2023.11.10 |
[Java/Algorithm] BufferedWriter vs. StringBuilder 속도차이! (0) | 2023.11.10 |
[Java/Algorithm] BufferedReader vs. Scanner 분명한 속도 차이! (1) | 2023.11.09 |