package token;
import java.util.StringTokenizer;
public class ToeknExam {
public static void main(String[] args) {
String text = "홍길동/이수홍/박연수";
StringTokenizer st = new StringTokenizer(text,"/");
// "/" 기준으로 분리함
int countTokens = st.countTokens();
for (int i = 0 ; i < countTokens; i++) {
String token = st.nextToken(); // 토큰 한개 pop
System.out.println(token);
}
System.out.println();
st = new StringTokenizer(text,"/");
while(st.hasMoreTokens()) { // 토큰이 남아있는가
String token = st.nextToken();
System.out.println(token);
}
}
}
토큰이란 계주를 하는 것과 비슷합니다. 바톤을 들고 자기 역할을 다 하면 다른 사람한테 전달해주는 거 처럼
자기가 토큰이란 걸 가지고 있다가 자기가 할 일을 다 하면 전달해주는 거라고 생각하시면 됩니다.
이걸로 어떤 일을 할 수 있냐면 위에 코드와 같이 StringTokenizer로 /로 구분되어 있는 String형을 받아서
"/"로 나눠서 배열에 저장하는 거마냥 구분합니다.
그리고 countTokens로 몇개로 구분되어 있는지 갯수를 셉니다.
그리고 처음 토큰은 0번째 인덱스라고 해야할까요 홍길동한테 있지 않고 아예 다른 곳에 보존되어 있습니다.
그걸 nextToken()을 통해서 넘겨줍니다. 이런식으로 for문을 countTokens만큼 돌 수도 있지만
hasMoreTokens()라는 메소드를 통해서 토큰이 아예 다른 곳에 보존된 곳 홍길동 이수홍 박연수가 가지고 있는지
확인시키고 가지고 있을시 True를 반환해줍니다.
결국 박연수가 자기 다음으로 토큰반환소에 주면 false를 반환해서 while문을 탈출합니다.
https://github.com/SungJLee/My_Java_World.git
'[Java] > [Java]' 카테고리의 다른 글
[Java] 자바 날짜 메소드 (0) | 2021.07.03 |
---|---|
[Java] 자바 Math 메소드 (0) | 2021.07.03 |
[Java] 자바 형변환 메소드 (문자열 → 숫자, 숫자 → 문자열) (0) | 2021.07.03 |
[Java] 자바 문자열 관련 함수 (toString(), currentTimeMillis(), length(), replace(), substring(), equals(), toUpperCase(), toLowerCase(), trim(), valueOf(), concat()) (0) | 2021.07.03 |
[Java] 자바 인터페이스(Interface) 다중상속 (implements) (0) | 2021.07.03 |