입력
InputStreamReader
System.in -> 바이트 기반 입력
BufferedReader -> 문자 기반 입력
=> 형 변환 어댑터 필요
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Integer
int 기본형을 감싸는 래퍼 클래스
public static int parseInt(String s)
parseInt : 래퍼 클래스가 보유한 메서드 중 하나
Auto-Boxing,Unboxing
int a = 10;
Integer obj = a;
// 오토박싱 int -> Integer 자동 형 변환
Integer obj = 20;
int b = obj; // 언박싱: Integer → int;
// 언박싱: Integer → int
List<Integer> list = new ArrayList<>();
list.add(10); // 10은 int → 오토박싱 → Integer
int x = list.get(0); // Integer → 언박싱 → int
→ 이처럼 오토박싱/언박싱이 없으면, 일일이 Integer.valueOf()나 intValue()를 써야 했는데 자바 5부터 이걸 자동으로 처리
입력 유형 1 띄어쓰기로 구분해서 입력 줄때
ex)
3 1
->
BufferedReader br = new BufferedReader(new InputStream(System.in));
String[] srr = br.readLine().split(" ");
N = Integer.parseInt(srr[0]);
M = Integer.parseInt(srr[1]);
StringTokenizer(BufferdReader와 시너지 좋음)
📌 기능
- 기본 구분자: " \t\n\r\f" (공백류 전부)
- 즉, "4 2\n" 같이 여러 공백이 있거나 줄바꿈이 있어도 자동 처리됨
📌 주요 메서드
hasMoreTokens() -> 다음 토큰이 있는지 확인 (boolean)
nextToken() -> 다음 토큰 반환 (String)
String input = "apple,banana,grape";
StringTokenizer st = new StringTokenizer(input, ",");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
📌 사용법
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());