[BOJ] 10951 A+B-4 (JAVA)

✅ 문제

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

✅ 입력

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

✅ 출력

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

✅ 예제 1

▼ 입력

1 1
2 3
3 4
9 8
5 2

▼ 출력

2
5
7
17
7

풀이

  • EOF(End Of File) 이란?
    - 파일의 끝. 즉, 더 이상 읽을 수 있는 데이터가 없는 상태를 의미 함
    - cmd에서 ctrl+z를 누른 후 Enter 키를 누르면 발생
    - Scanner.hasNextLine() 또는 BufferedReader.readLine()로 처리할 수 있다.
  • BufferedReader.readLine()으로 데이터를 입력 받는다.
  • StringTokenizer.nextToken()로 토큰을 추출한다.
  • BufferedWriter.write()로 내용을 출력한다.

💡 방법1 - BufferedReader.readLine() 사용

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));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		StringTokenizer st;
		String str;
		
		while((str = br.readLine()) != null) {	// 받아온 입력값이 null이 아닌 동안
			st = new StringTokenizer(str);
			while(st.hasMoreTokens()) {	// 남아 있는 토큰 있는지 확인
				int a = Integer.parseInt(st.nextToken());	// 토큰 꺼내오기
				int b = Integer.parseInt(st.nextToken());
				bw.write((a+b) + "\n");
			}
		}
		bw.flush();
		bw.close();
	}
}

💡 방법2 - Scanner.hasNextLine() 사용

import java.io.*;
import java.util.Scanner;
import java.util.StringTokenizer;

public class Main {
	public static void main(String[] args) throws IOException{
		Scanner scanner = new Scanner(System.in);
		StringTokenizer st;
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		String str;
		
		while(scanner.hasNextLine()) {	// 다음에 읽을 값이 있는지 확인
			st = new StringTokenizer(scanner.nextLine());	// Scanner.nextLine()은 String 값을 얻는다
			while(st.hasMoreTokens()) {
				int a = Integer.parseInt(st.nextToken());
				int b = Integer.parseInt(st.nextToken());
				bw.write((a+b) + "\n");
			}
		}
		bw.flush();
		bw.close();
	}
}

좋은 웹페이지 즐겨찾기