스캐너를 이용한 방법
Scanner sc = new Scanner(System.in);
String str1 = sc.next();
String str2 = sc.nextLine();
int num1 = sc.nextInt();
double num2 = sc.nextDouble();
next() : 문자 혹은 문자열을 공백 기준으로 한 단어, 혹은 한 문자씩 입력을 받는다.
따라서 위 예시 중 str1에 'Hello World!'를 입력하면 'Hello'만 들어가게 된다. '\n' 문자를 무시한다.
-
nextLine() : 문자 혹은 엔터를 치기 전까지의 문장 전체를 입력받는다. '\n'을 포함하는 한 라인을 읽고, '\n'을 버린 나머지만 리턴한다.
BufferedReader 사용
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
StringTokenizer
- StringTokenizer는 공백이 있을 때 뒤에 문자열이 공백처리를 땡겨 채우도록 한다.
- StringTokenizer가 BufferedReader보다 빠르게 사용 될 수 있다
<StringTokenizer를 사용했을 때>
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
String A = st.nextToken();
String B = st.nextToken();
String C = st.nextToken();
String D = st.nextToken();
<BufferedReader를 사용했을 때>
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] input = br.readLine().split(" ");
사용주의점
- 예외처리를 해주어야 한다
- io 패키지를 import해야 한다.
import java.util.*;
import java.io.*;
public class Main
{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] word= br.readLine().split(" ");
System.out.println(word[0]);
}
}
'Problem Solving > 자바 문법' 카테고리의 다른 글
Array 출력방법 (0) | 2024.01.29 |
---|---|
자바 출력하기 BufferedWriter (1) | 2024.01.29 |
시간복잡도 (0) | 2024.01.29 |
문자열 포맷 (0) | 2024.01.24 |
Java String (0) | 2024.01.24 |