StringTokenizer

Status
Nicht offen für weitere Antworten.

raffnix

Bekanntes Mitglied
Hallo!

Gibt es eine möglichkeit die Tokens die mir String Tokenizer liefert zu zählen?
ich möchr jedes zweite token in einer ArrayList speichern.
nun hänge ich an der formulierung.
Die anzahl der tokens währe sehr hilfreich.
Code:
import java.io.*;
import java.util.*;
class Zerteilestring {
	 public static void main (String[] args){
StringTokenizer aufteiler = new StringTokenizer("der 1 der 2 der 3 die 4 mal 7");
ArrayList a = new ArrayList();
while ( aufteiler.hasMoreTokens() ){
System.out.println( aufteiler.nextToken() );


	}
   }
	
}
 
G

Gast

Gast
Hlft die die Methode

int countTokens()

der Klasse StringTokenizer vielleicht weiter ?
 

raffnix

Bekanntes Mitglied
Ich weiss nicht?
zählt sie denn die tokens die ausgeliefert weden?
oder die ,die reinkommen?
oder die, die Trennzeichen sind?

Mal noch was anderes.
wenn eine Metrhode eine ArrayList zurückgeben soll .
kann ich sie dann so deklarieren?
Code:
public ArrayList methodenname(para1,par2){
{
//tu was;
}
return MeineListe;
}
 

mic_checker

Top Contributor
raffnix hat gesagt.:
Ich weiss nicht?
zählt sie denn die tokens die ausgeliefert weden?
oder die ,die reinkommen?
oder die, die Trennzeichen sind?

API ->
http://java.sun.com/j2se/1.4.2/docs/api/java/util/StringTokenizer.html#countTokens()#

Mal noch was anderes.
wenn eine Metrhode eine ArrayList zurückgeben soll .
kann ich sie dann so deklarieren?
Code:
public ArrayList methodenname(para1,par2){
{
//tu was;
}
return MeineListe;
}

Z.B. so

Code:
public ArrayList methodenname(...)
{
ArrayList al = new ArrayList();
....
return al;
}
 

raffnix

Bekanntes Mitglied
Super es hat soweit alles geklappt.
bis auf eine sache.
Code:
public ArrayList stringaufteiler(){
		StringTokenizer aufteiler = new StringTokenizer("der 1 der 2 der 3 die 4 mal 7"); 
	 	ArrayList a = new ArrayList();
	 	while ( aufteiler.hasMoreTokens() ){
	 	for (int i = 0; i< aufteiler.countTokens();i++){
	 	     a.add(i,aufteiler.nextToken());
	 	          }
	 	      }
Leider wird mein String total zerwürfelt.
meine vorherige planung jedes 2te Token in einem array zu speichern fällt daher flach.
Gibt es eine Möglichkeit die den String nicht zerwürfelt,
sondern die Tokens in der Reihenfolge wie sie auch im String sind auswirft?
 

mic_checker

Top Contributor
Ich nehme an du willst im ersten Schritt erstmal alle Teil-Zeichenketten in der Liste stehen haben. Das kannst du doch so machen (fast genauso wie dein Source):

Code:
	public ArrayList stringaufteiler()
	{
		StringTokenizer aufteiler = new StringTokenizer("der 1 der 2 der 3 die 4 mal 7");
      ArrayList a = new ArrayList();
       
      while (aufteiler.hasMoreTokens())
      	for (int i = 0; i< aufteiler.countTokens();i++)
       		a.add(aufteiler.nextToken());
		             
      return a;
   }

Denk dran die Liste zurückzugeben, sonst kommt "missing return statement"
 

KSG9|sebastian

Top Contributor
Code:
public ArrayList stringaufteiler(){ 
      StringTokenizer aufteiler = new StringTokenizer("der 1 der 2 der 3 die 4 mal 7"); 
       ArrayList a = new ArrayList(); 
       while ( aufteiler.hasMoreTokens() ){ 
       for (int i = 0; i< aufteiler.countTokens();i++){ 
            a.add(i,aufteiler.nextToken()); 
                 } 
             }

Was soll den die erste Zeile - StringTokenizer .. = new StrinkTokenizer...

Lies die doch mal durch wie der StringTokenizer richtig funktioniert ->

Wenn du dem StringTokenizer als Parameter z.Bl. " /" übergibst, dann wird der String an jeder Stelle getrennt wo es ein " " (Leerzeichen) oder nen "/" Slash gibt. Das ist bestimmt nicht das was du willst, oder ?

http://www.galileocomputing.de/open...xxjavainsel_040004256DieKlasseStringTokenizer
 

mic_checker

Top Contributor
@KSG9|plak: Allgemein gilt:

Code:
public StringTokenizer(String str)
public StringTokenizer(String str,String delim)
...

Er macht Gebrauch vom ersten Konstruktor, damit wird ihm mitgeteilt welchen String er unterteilen soll. Du meinst den zweiten Konstruktor, in dem genauer spezifiziert werden kann welche Delimiter er verwenden soll.
Habe anfangs auch gedacht sein Konstruktor sei falsch, aber in der API stehts auch so drin (zumindest noch in 1.4)
 

raffnix

Bekanntes Mitglied
@KSG9|plak
Naja im grunde ist der String der hier tokenized wird nicht der den ich untersuche.
mein string ist vieeel länger und als delimetr benutze ich \t .
aber danke fürs mitdenken..


@mic_checker
Jau das hatte ich auch mal so stehen.
habe es aber verworfen da ich dachte so wird nur ein Token gespeichert..
werde es direkt ausprobieren.

Hab noch eine Frage:
Ich möchte die Token zwar zunächst in einer Liste speichern, später müssen jedoch die einzelnen tokens in einer für sie speziellen liste oder array gespeichert werden.
es wären dann insgesmt 28 einzelne arrays.
im grunde wär es besser eine Liste mit 28 unterlisten zu haben die sich dynamisch füllen lassen.
Ist das möglich?
Ich habe mir mal Hash tabellen angesehen. aber die übernehmen ja nur paare von elementen. und keine listen.
glaub ich...
 

mic_checker

Top Contributor
Klar, prinzipiell ist das natürlich möglich, du kannst ja ein Array von ArrayLists anlegen.

Ich nehme mal an, jede Liste wächst unterschiedlich, je nachdem was für Token im Ursprungs-String auftauchen.
Nur Arrays zu benutzen scheint auf den ersten Blick keinen Sinn zu machen, da es dynamisch wachsen soll.

Probiers mal mit Array von ArrayLists, bei Problemen kannst ja posten.

Btw. eine Liste von Unterlisten? Warum? Das würde nur Sinn machen wenn du einige dynamisch wachsende Listen mit Unterlisten hast...aber das willst du wohl nicht oder?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Problem mit Konsolenausgabe bei StringTokenizer Java Basics - Anfänger-Themen 2
B StringTokenizer Java Basics - Anfänger-Themen 11
L Textfile mit StringTokenizer einlesen und sortiert ausgeben Java Basics - Anfänger-Themen 8
M StringTokenizer macht Quatsch Java Basics - Anfänger-Themen 21
S StringTokenizer; countTokens() Java Basics - Anfänger-Themen 6
J StringTokenizer? Java Basics - Anfänger-Themen 2
V StringTokenizer für Rechenzeichen Java Basics - Anfänger-Themen 12
C StringTokenizer Delimiter " " "??? Java Basics - Anfänger-Themen 2
M java.lang.StringTokenizer Java Basics - Anfänger-Themen 4
X StringTokenizer immer nur ein Zeichen Java Basics - Anfänger-Themen 12
T OOP StringTokenizer, Zuweisung der einzelnen Attribute Java Basics - Anfänger-Themen 21
B Fragen zu StringTokenizer? Java Basics - Anfänger-Themen 8
M String.split() und StringTokenizer Java Basics - Anfänger-Themen 2
G StringTokenizer Java Basics - Anfänger-Themen 4
J StringTokenizer Java Basics - Anfänger-Themen 3
G Array mit Stringtokenizer füllen Java Basics - Anfänger-Themen 2
P StringTokenizer Java Basics - Anfänger-Themen 2
V StringTokenizer Java Basics - Anfänger-Themen 2
P Rexex - stringtokenizer - String funktionen allgemein Java Basics - Anfänger-Themen 3
G Java StringTokenizer Java Basics - Anfänger-Themen 2
D StringTokenizer wirft Exception Java Basics - Anfänger-Themen 9
G StringTokenizer mit unterschiedlichen Delimitern Java Basics - Anfänger-Themen 7
G StringTokenizer - jedem Zeichen einen Bezeichner zuweisen Java Basics - Anfänger-Themen 4
S schwieriger String für StringTokenizer, wie am Besten ? Java Basics - Anfänger-Themen 8
U StringTokenizer soll in String-Array schreiben Java Basics - Anfänger-Themen 19
V StringTokenizer Java Basics - Anfänger-Themen 10
S StringTokenizer: Daten aus Datei auslesen Java Basics - Anfänger-Themen 11
S TreeSet und StringTokenizer Java Basics - Anfänger-Themen 6
C StringTokenizer Java Basics - Anfänger-Themen 3
A Problem StringTokenizer mit delimiters Java Basics - Anfänger-Themen 2
N Zeilenumbruch im StringTokenizer?? Java Basics - Anfänger-Themen 4
J StringTokenizer Hilfe !!!!!!!!!!! Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben