Written by
Misun
on
on
[Java/백준]1001번: A-B
문제
두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
첫째 줄에 A-B를 출력한다.
예제 입력 1
3 2
예제 출력 1
3 2
문제풀이
첫번째 방법: Scanner 클래스 사용
import java.util.Scanner;
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();
}
}
처음에 close를 안했는데 찾아보니 필수는 아니지만 닫아주는 것을 적극 권장한다고 한다.
대충 리소스 누수때문이라고 함.
간단하게 풀었는데 찾아보니 역시 다양한 풀이법이 존재했다.
두번째 방법: BufferedReader와 StringTokenizer 사용
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
class Main_1001 {
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);
/*
굳이 String 변수 생성 안하고 입력과 동시에 구분자로 분리해줘도 된다.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine()," ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
System.out.println(a-b);
*/
}
}
세번째 방법: StringBuilder와 split 사용
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class Main_1001 {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] str = br.readLine().split(" ");
int A = Integer.parseInt(str[0]);
int B = Integer.parseInt(str[1]);
System.out.println(A-B);
}
}
Discussion and feedback