Gyakorlati alapok

A StringTokenizer osztály

 

Az osztály fogalmát a későbbiekben tisztázzuk a Gyakorlati alapok III. (Az osztályok) című fejezetben. Ám az alábbiak már sejtetik: az osztály valamilyen szempont szerint összetartozó adatok és metódusok már önállóan is működőképes egysége. Ennek a rövid ismertetőnek inkább a String, StringBuilder és StringBuffer fejezetek mellett lett volna helye, ám azok egészen a kezdő szinten kerültek publikálásra és a jelen fejezet tartalma azért már ennél nehezebb.

 

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

A token bonyolult fogalom az informatikában. A szó eredeti jelentése jel, jelzés, vezérjel és még ezernyi más. Értelmezésem szerint a token egy, valamilyen módon informatikailag önmagában is értelmezhető, azaz információt hordozó jel.

 

Az informatikai szöveg nemcsak szavakat és nyelvtani jelzéseket, hanem egyéb formázókaraktereket-karakterkombinációkat is tartalmaz. Közülük sok elnevezése és funkciója legtöbbször még a gépírásig nyúlik vissza, bár a Java-nyelvbe is beépült, amely egyébként határoló karaktereknek hívja (delimiter characters). A legfontosabb határoló karakterek a következők:

A határoló karakterek eredeti és az informatikában megváltozott funkciója most nem lényeges.

 

A StringTokenizer osztály képes ezen formázó "karaktertöltelékek" közül -amelynek jelenléte nem probléma, hiszen részben erre alapul az informatikai szöveg formázhatósága-, a számunkra hasznos és tovább már nem bontható alapkarakter-sorozatokat (token szavakat) kiemelni és egymás alá rendezni. A megfelelő implementációhoz az osztályban elérhető további 2 metódust használunk fel:

A 2 metódust egy elöltesztelő ciklussal kombinálva...

 

while(st.hasMoreTokens()){
    System.out.println(st.nextToken());
    }

 

...a tokenbontás pontosan a String objektum végéig tart (anélkül, hogy méretét előzetesen meg kéne adnunk, hiszen azt sok esetben nem tudhatjuk előre).

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 


import java.util.StringTokenizer;

public class Main{
    public static void main(String[] args) {
    String str = "Lenni vagy nem lenni, ez itt a kérdés.";
    StringTokenizer st = new StringTokenizer(str);
    while(st.hasMoreTokens()){
        System.out.println(st.nextToken());
        }
    }
}

 

Végeredmény (például):

Lenni
vagy
nem
lenni,
ez
itt
a
kérdés.