공백 단위로 주어진다!
👉🏻 2가지 입력방법을 사용하여 풀이
1) Scanner 로 입력받아 연산
2) BufferedReader로 입력받아 연산
👉🏻 방법 1) Scanner
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int A = in.nextInt();
int B = in.nextInt();
System.out.println(A-B);
in.close();
}
}
in.close를 하는 이유는 필수는 아니지만, close로 닫아주는 것을 적극 권장한다.
리소스 누수(resource leaks)와 관련이 있다.
👉🏻 방법 2) BufferedReader
readLine()을 통해 한 행을 읽어온 뒤
공백 단위로 입력한 문자열을 분리한다.
1) String Tokenizer 클래스 이용하여 분리
- Tokenizer은 문자열을 반환하므로 출력해야 하는 것이 int 형이기에 Integer.parseInt()로 형변환을 해주어야 한다.
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 br = new BufferedReader(new InputStreamReader(System.in));
굳이 String 변수 생성하지 않고 입력과 동시에 구분자로 분리해도 됨.
StringTokenizer st = new StringTokenizer(br.readLine()," ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
System.out.println(a-b);
*/
}
}
2) split(" ")
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
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);
}
}
Uploaded by Notion2Tistory v1.1.0