백준에서 BufferedReader 로 입력 받아서 문제풀다가 띄어쓰기로 구분해서 입력받고 싶어서 찾아본 개념이다
StringTokenizer 은 클래스로 문자열을 지정한 구분자를 기준으로 파싱할 때 사용한다
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class No2_StringTokenizer {
public static void main(String[] args) throws IOException {
// StringTokenizer 생성 및 입력받기(이번엔 BufferedReader)
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(in.readLine(), " ");
System.out.println("총 토큰의 개수: "+ st.countTokens());
// 토큰 꺼내기(Object, String)
String nextElement = st.nextElement().toString(); // Object 반환
System.out.println(nextElement);
String nextToken = st.nextToken(); // String 반환
System.out.println(nextToken);
// 토큰 배열에 넣기(hasMoreTokens 불린 사용)
boolean hasMoreTokens = st.hasMoreTokens();
int index =0;
String[] strArray = new String[st.countTokens()];
while(hasMoreTokens) {
strArray[index] = st.nextToken();
index++;
}
}
}
++ StringTokenizer( String str, String delim, boolean flag) : flag 는 구분자(delim) 자체도 토큰으로 인식할지 여부
'Java' 카테고리의 다른 글
[Java] Collections(2-1)_Map 반복문 도는 여러방식 (0) | 2021.11.03 |
---|---|
[Java] DTO (Data transfer Object) 란? (0) | 2021.09.13 |
[Java] Collections(2)_Map 인터페이스 (0) | 2021.08.24 |
[Java] 네트워킹 (0) | 2021.08.17 |
[Java] 데이터 입출력(2) BufferedReader, BufferedWriter (0) | 2021.08.09 |