Java StringTokenizer használata?
Nagyon sokszor előfordul .hasMore... és a .next.... kifejezés ha iterálni akarunk egy objektumon, tehát a kérdésem nem csak a StringTokenizer osztályra vonatkozik.
StringTokenizer st = new StringTokenizer("Indul a görög aludni");
while(st.hasMoreTokens()) {
System.out.println(st.nextToken());
System.out.println(st.nextToken()); // ez nem fog semmit sem kiírni
}
Tehát a kommentben jeleztem, hogy a kommentes résznek a Consolra való kiíratás már nem fog megtörténni, de miért is?
kimenet:
Indul
a
görög
aludni
--------
st.nextToken() <- visszatér a stringgel
de gondolom itt lehet a bibi ha egyszer meghívtuk ezt a metódust, akkor az st objektumomban valami jelezheti, hogy már megtörtént a következő érték kimentése?
"ez nem fog semmit sem kiírni"
1. Számold meg, hányszor fut le a ciklusmag
2. Próbálj páratlan számú szót beírni az st-be, és futtasd le úgy is.
A ciklusmag ahogyan látod 4-szer fut le ott a kimenet.
De mégsem ez lesz a kimenet, hogy:
Indul
Indul
a
a
görög
görög
aludni
aludni
Akkir segítek: kétszer fut le a ciklus.
Mindkétszer meghívja kétszer a nextToken()-t.
Kétszer kettő négy. Tehát összesen négyszer hívod meg a nextToken()-t.
De hülye voltam! :D
Köszi a válaszokat, tehát kinyerem a nextToken -nel de ő közben lép is.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!