카테고리

분류 전체보기 (68)
JAVA-기본 (7)
JAVA-AWT (24)
JAVA-클래스의 중요메소드 (23)
JAVA-람다식 (0)
Android Studio (7)
Python (1)
OpenCV (1)
AWS (0)
webrtc (0)
javascript (4)
처리방침 (1)
rss 아이콘 이미지
반응형

이번 시간에는 StringTokenizer() 클래스에 대해서 알아보도록 하겠습니다.


StringTokenizer()


StringTokenizer() 는 String의 문자열을 원하는 문자열을 기준으로 나눌 수 있는 클래스입니다.

예를들어 String="123,456,789"; 가 존재한다면 ","(쉼표)을 기준으로 String을 123/456/789 으로 3등분할 수 있습니다.


아래는 StringTokenizer()의 생성자 입니다.


아래는 StringTokenizer()의 특징입니다.


1. StringTokenizer()는 객체를 생성해서 사용해야합니다.

2. StringTokenizer()는 객체를 생성 후 import 해야합니다.

3. 위의 StringTokenizer() 중 string str은 문자열을 나눌 대상입니다.

4. string delim은 str 문자를 나눌때 기준이 되는 문자열입니다.

5. boolean은 나누는 기준이되는 문자열의 출력 여부를 묻습니다.

6. 여러개의 구획 문자가 적용가능하다. (아래 예제 참고)


아래는 StringTokenizer() 클래스와 함께 사용되는 메소드입니다.

(나누는 문자의 각 대상들을 token이라고 합니다.)


countTokens(); 

토큰의 개수 확인
hasMoreTokens(); 토큰이 더 남아있는지 확인
nextToken(); 다음 토큰을 불러옴


아래의 예제를 통하여 더 StringTokenizer()에 대해서 살펴보도록 하겠습니다.

 package 기본01;

 

import java.util.StringTokenizer;

 

public class a01 {

 

        public static void main(String[] args) {

 

               String a = "123,456,789";

               StringTokenizer a1 = new StringTokenizer(a, ",");

               // 객체 생성 import

 

               String b = "1,2,3,4,5,6,7,8,9";

               StringTokenizer b1 = new StringTokenizer(b, ",");

               // 객체 생성 import

 

               System.out.println(a1.countTokens());

               System.out.println(b1.countTokens());

 

        }

 

}


<결과물>


 package 기본01;

 

import java.util.StringTokenizer;

 

public class a02 {

 

        public static void main(String[] args) {

 

               String a = "123,456,789";

               StringTokenizer a1 = new StringTokenizer(a, ",");

               // 객체 생성 import

 

               String b = "1,2,3,4,5,6,7,8,9";

               StringTokenizer b1 = new StringTokenizer(b, ",");

               // 객체 생성 import

 

               while (a1.hasMoreTokens()) {

                       // hasMoreTokens while문을 사용합니다.

                       System.out.println(a1.nextToken());

                       System.out.println("hasMoreTokens 토큰개수 만큼 진행됩니다."+a1.countTokens()+"처음 3토큰이 -1 감소하네요");

                      

 

               }

               while (b1.hasMoreTokens()) {

                       System.out.println(b1.nextToken());

 

               }

        }

}


<결과물>


<tokenizer생성자 boolean true 적용 예제>

 package 기본01;

 

import java.util.StringTokenizer;

 

public class a02 {

 

        public static void main(String[] args) {

 

               String a = "123,456,789";

               StringTokenizer a1 = new StringTokenizer(a, ",", true);

               // 객체 생성 import

 

              // true , 분리하는 쉼표도 같이 출력됩니다

 

               while (a1.hasMoreTokens()) {

                       // hasMoreTokens while문을 사용합니다.

                       System.out.println(a1.nextToken());

                       System.out.println("hasMoreTokens 토큰개수 만큼 진행됩니다." + a1.countTokens() + "처음 토큰이 -1 감소하네요");

 

               }

        }

}

<결과물>


*중요 <tokenizer생성자 여러개의 delim>

이 기능을 사용하여 간단한 계산기 구현 가능합니다.

 package 기본01;

 

import java.util.StringTokenizer;

 

public class a02 {

 

        public static void main(String[] args) {

 

               String a = "1-2+-*/3+4+-*/56";

               StringTokenizer a1 = new StringTokenizer(a, "+-*/");

               // 객체 생성 import

 

               // true , 분리하는 쉼표도 같이 출력됩니다.

 

               while (a1.hasMoreTokens()) {

                       // hasMoreTokens while문을 사용합니다.

                       System.out.println(a1.nextToken());

               }

        }

}


<결과물>



자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.

반응형