Baekjoon(JAVA)/Algorithm

[Baekjoon(JAVA) - Algorithm] 1000번: A+B

Yn3(인삼) 2023. 10. 24. 15:43

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

 

1000번: A+B

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

www.acmicpc.net

 


Question

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

 

Input

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

example input

1 2

 

Output

첫째 줄에 A+B를 출력한다.

example output

3

 

Answer

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int A = sc.nextInt();
        int B = sc.nextInt();

        System.out.println(A + B);

        sc.close();
    }
}

 

Problem Solution

오랜만에 Java에서 입력을 받으려고 하니 Scanner라는게 있었다는 것을 깨달았다...

그래서 Scanner 클래스에 대해서 알아보고자 한다.

 

Scanner 클래스

자바에서 입력받을 때 가장 많이 쓰이는 클래스 중 Scanner 라는 것이 있다.

이 Scanner 클래스는 JDK1.5부터 추가되어 정수, 실수, 문자열을 읽어올 수 있으며,

이전에 쓰이던 문자, 숫자 입력을 받은 명령들보다 예외처리, 수행속도면에서 훨씬 편해서 많이 쓰이게 되었다.

Scanner의 특징

  1. 기본적인 데이터 타입들을 Scanner의 메소드를 사용하여 입력받을 수 있다.
    100을 입력할 때 String으로 입력받고 싶으면 next()나 nextLine()을 사용하고, int로 입력받고 싶으면 nextInt()를 사용하여 입력받으면 해당 타입별로 입력된다.
  2. Scanner를 사용할 시 util 패키지를 경로의 Scanner 클래스를 호출해야 한다.
    Java에서 쓰이는 대부분의 클래스는 lang 패키지가 아니라면 import를 통해 호출해야 한다.
    따라서, Scanner의 경우 java.util 패키지를 호출해야 한다.
  3. 공백(띄어쓰기) 또는 개행(줄 바꿈)을 기준으로 읽는다.
    Scanner의 입력 메소드들은 대부분 공백과 개행(' ', '\t', '\r', '\n', etc..)을 기준으로 읽는다.

 

Code Explanation

Scanner sc = new Scanner(System.in);

위처럼 Scanner 객체를 생성할 때 System.in이 들어가는데

System.in사용자로부터 입력을 바이트 단위로 받기 위한 입력 스트림이다.

Scanner 뿐만 아니라 다른 입력 방식들도 사용자로부터 입력을 받기 위해서는 System.in을 사용해야 한다.

 

sc.close();

위의 명령문을 쓰지 않으면 sc에 경고가 뜨지만 영향은 없다.

키보드 입력의 경우 close()를 해주지 않아도 상관없지만, 리소스를 사용하는 경우 close()를 해주지 않으면 리소스 손상이 일어날 수 있다.