💡 (Java) StringTokenizer 정리

박현아·2024년 10월 29일
0

기초

목록 보기
22/31

💡 StringTokenizer 정리

StringTokenizer는 문자열을 특정 구분자로 나눌 때 사용하는 유용한 클래스이다. 기본적으로 공백을 기준으로 문자열을 나누며, 콤마나 다른 구분자를 지정할 수도 있다. BufferedReader와 자주 함께 쓰이며, 큰 입력을 효율적으로 처리할 수 있다.

1. 공백으로 구분된 문자열 분리

import java.util.StringTokenizer;

public class StringTokenizerExample {

    public static void main(String[] args) {
        String input = "Java is a popular programming language";

        // 공백을 기준으로 문자열 분리
        StringTokenizer st = new StringTokenizer(input);

        // 각 토큰 출력
        while (st.hasMoreTokens()) {
            System.out.println(st.nextToken());
        }
    }
}

출력 결과

Java
is
a
popular
programming
language

2. 콤마로 구분된 문자열

public class StringTokenizerExampleWithComma {

    public static void main(String[] args) {
        String input = "Apple,Banana,Cherry,Date";

        // 콤마를 구분자로 지정
        StringTokenizer st = new StringTokenizer(input, ",");

        // 각 과일 이름 출력
        while (st.hasMoreTokens()) {
            System.out.println(st.nextToken());
        }
    }
}

출력 결과

Apple
Banana
Cherry
Date

3. BufferedReader와 함께 사용하여 여러 줄 입력 처리

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;

public class BufferedReaderAndStringTokenizerExample {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        // 입력 예시: 2줄을 입력받고 각 줄에 공백으로 구분된 두 개의 숫자를 처리
        int lines = 2;
        for (int i = 0; i < lines; i++) {
            // 한 줄을 입력받아 공백으로 분리
            StringTokenizer st = new StringTokenizer(br.readLine());

            int num1 = Integer.parseInt(st.nextToken());
            int num2 = Integer.parseInt(st.nextToken());
            System.out.println("Read numbers: " + num1 + " and " + num2);
        }

        br.close();
    }
}

입력

10 20
30 40

출력 결과

Read numbers: 10 and 20
Read numbers: 30 and 40

0개의 댓글