728x90
반응형
SMALL
https://www.acmicpc.net/problem/1152
제출코드
import java.io.*;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine()," ");
System.out.println(st.countTokens());
}
}
코드설명
단순하게 공백 제거하고 한줄 입력받아와서 st객체의 countTokens메서드 이용하여 개수를 출력
※StringTokenizer 클래스
String Tokenizer란?
StringTokenizer 클래스는 문자열을 분리할 때 사용가능한 클래스이다.
BufferedReader로 문자열을 읽어올 때는 라인 단위로 읽어 올 수 밖에 없는데, StringTokenizer를 활용하여 문자열을 분리할 수 있다.
1.Split메서드와 차이점은?
StringTokenizer는 java.util패키지에서 나오는 클래스로 공백을 문자열로 인식하지 않지만,
split메서드는 String클래스에서 나오는 메서드로 공백을 문자열로 인식한다.
2. StringTokenizer생성자
StringTokenizer st = new StringTokenizer(br.readLine());
띄어쓰기를 기준으로 문자를 분리한다.
StringTokenizer st = new StringTokenizer(br.readLine(), String delim);
Delimeter기준으로 문자열을 분리한다.
StringTokenizer st = new StringTokenizer(br.readLine(), String delim, true/false);
위와 같지만 true/false는 구분자를 token에 포함시키면 true 안시키면 false를 해주면 되는데
디폴트 값은 false이다.
3.StringTokenizer메서드
리턴타입 | 메서드 이름 | 설명 |
Boolean | hasMoreTokens() | 남아있는 토큰이 있으면 ture, 없으면 false리턴 -> 반복문에 많이 사용 |
String | nextToken() | 다음 토큰을 반환 |
String | nextToken(String delim) | delimeter기준으로 다음 토큰 반환 |
Object | nextElement() | 문자열이 아닌 객체 리턴 |
Int | countTokens() | 총 토큰의 개수를 리턴 |
728x90
반응형
LIST
'백준[자바]' 카테고리의 다른 글
[백준/Java] - 2292번 벌집 (0) | 2025.03.05 |
---|---|
[백준/Java] - 2908 상수 (0) | 2025.02.26 |
[백준/Java] - 10809번 알파벳 찾기 (1) | 2025.02.24 |
[백준/Java] - 11720번 숫자의 합 (0) | 2025.02.24 |
백준[자바/Java] - 1546번 평균 (0) | 2025.02.23 |