본문 바로가기
Java

[Java] StringTokenizer

by happyhelen 2021. 8. 26.

백준에서 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) 자체도 토큰으로 인식할지 여부