Algorithm

[백준] 1000번: A+B

로춘남 2021. 10. 2. 10:03
728x90


https://www.acmicpc.net/problem/1000

 

1000번: A+B

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

www.acmicpc.net

백준 1000번 문제. A값과 B값을 더해주기. Scanner와 BufferedReader를 한 번 이용해볼 생각이다.

사칙연산은 의외로 간단하기 때문에 바로 시작

 

1. Scanner 이용

import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner((System.in));
        int a = sc.nextInt();
        int b = sc.nextInt();
        System.out.println(a + b);
        sc.close();
        }
       }

Scanner로 입력할 수 있게 설정해주고 int에 각각 넣어줄 값을 nextInt();로 설정해주기. 그리고 System을 이용해서 출력!

 

2. BufferedReader 이용

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String str = br.readLine();
        StringTokenizer st = new StringTokenizer(str," ");
        int a = Integer.parseInt(st.nextToken());
        int b = Integer.parseInt(st.nextToken());
        System.out.println(a+b);
    }
}

BufferedReader를 생성하여 InputStream과 동시에 StringTokenizer를 설정해준다. 이때 " " 공백을 통해서 구간을 나눠줘야함.

문자열로 설정된 st.nextToken()을 Interger.parseInt를 통해 형태를 바꿔줘야한다.

 

이때 Scanner와 입력하는 차이가 있는데 예를들어 a값을 3 b값을 2라고 했을 경우

Scanner를 사용했다면 

3

2

이런식으로 입력을 해야하고

 

BufferedReader를 사용했다면, 3 2 이렇게 입력해줘야한다. 왜냐하면 " "로 공간을 나눠줬기때문에

만약 일반적인 Scanner처럼 3을 먼저 입력했다면 StringTokenizer에서 오류가 발생할것이다.

 

[오류메시지 예시]

Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.StringTokenizer.nextToken(StringTokenizer.java:349)
at Main.main(exam.java:15)

 

StringTokenzier에서 분리된 문자열을 담고있는 요소가 더 이상 없는데 요소를 반환하려고 발생하는 오류가 발생하게 될 것이다.

728x90

'Algorithm' 카테고리의 다른 글

[Java] 백준 1271번 엄청난 부자2  (0) 2021.10.25
[Java] 백준 1330번 두 수 비교하기  (0) 2021.10.22
[Java] 백준 10172번: 개  (0) 2021.10.01
[Java] 백준 10171번: 고양이  (0) 2021.09.29
[Java] 백준 10178번: We love kriii  (0) 2021.09.28