String to array

Tags:    java csv string array

Hejsa udviklere

Har prøvet her på det sidste at få en manuelt [Ctrl+v]csv string sat ind i et array. Til videre bearbejdelse, men får fejl hele tiden.
Fold kodeboks ind/udJava kode 

Hvad gør jeg forkert ?



Indlæg senest redigeret d. 01.05.2011 21:26 af Bruger #13297
9 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 7 karma
Sorter efter stemmer Sorter efter dato
Prøvede også med .split men fik fejl hele tiden

Mine fejl er:

FodboldProgram.java:11 cannot find symbol
symbol : class StringTokenizer
location : class FodboldProgram
StringTokenizer st = new StringTokenizer(hj1kamp, ",");

Kan du ikke give et eksempel på .split for den har jeg også prøvet med.
Indlægget/programmet har med den her at gøre. Bare meget mere simpelt hvor data bare bliver sat ind manuelt.


Hvis du kigger på fejlbeskeden, nævner den
FodboldProgram.java:11 cannot find symbol
symbol : class StringTokenizer

Dvs. den har problemer med at finde StringTokenizer. Java har inddelt deres kode i pakker (packages). Du har glemt at fortælle Java at du gerne vil importere klassen StringTokenizer. Nogle af de andre som String er der allerede som standard.

Hvis du googler StringTokenizer (første link: http://download.oracle.com/javase/1.4.2/docs/api/java/util/StringTokenizer.html) kan du se information om StringTokenizer. Helt øverst kan du se denne linje:
java.util.StringTokenizer. Det betyder at StringTokenizer er en klasse i pakken java.util.
For at importere hele denne pakke kan du f.eks. helt øverst i din fil skrive:
import java.util.*;

Hvis du søger på "string.split java" kan du hurtigt finde denne side hvor der mere information: http://download.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#split%28java.lang.String%29. String.split() er et stykke nede.

Som set på siden ser den sådan her ud:
public String[] split(String regex)
Regex står for Regular Expressions men ved meget simpel splitting har det ikke meget betydning. Den kan bruges sådan her f.eks:
Fold kodeboks ind/udJava kode 


Legacy er "gammelt" kode. StringTokenizer er der fordi hvis man fjernede den ville gammelt kode ikke køre i nyere Java.




Indlæg senest redigeret d. 01.05.2011 21:35 af Bruger #14645
Jeg ved ikke helt hvordan dit input skal se ud men det her virkede fint:
Danmark
Tyskland
Danmark,2,Tyskland,1

Og outputtet er:
Du indtastede Danmark
Du indtastede Tyskland
Danmark
2
Tyskland
1

Desuden nævner SDK dokumentationen at StringTokenizer er legacy og at du bør benyttet noget andet f.eks. String.split.



Indlæg senest redigeret d. 01.05.2011 19:44 af Bruger #14645
Prøvede også med .split men fik fejl hele tiden

Mine fejl er:

FodboldProgram.java:11 cannot find symbol
symbol : class StringTokenizer
location : class FodboldProgram
StringTokenizer st = new StringTokenizer(hj1kamp, ",");

Kan du ikke give et eksempel på .split for den har jeg også prøvet med.
Indlægget/programmet har med den her at gøre. Bare meget mere simpelt hvor data bare bliver sat ind manuelt.




Indlæg senest redigeret d. 01.05.2011 21:19 af Bruger #13297
Så skriver du naturligvis lige hvilken fejl du får, Per, ellers er der jo ingen der kan hjælpe dig :). Vis også gerne den kode du har, der fejler.

Mvh.

Kasper (TSW)



Det er koden i #0.
og undskyld, jeg ved ikke lige hvad legacy er.



Indlæg senest redigeret d. 01.05.2011 21:21 af Bruger #13297
Per, legacy betyder bare at det er på vej til at blive faset ud (eller allerede er blevet det) og at man bør bruge nyere alternativer :)

Mvh.

Kasper (TSW)



TSW kørte du det i #0 uden fejl.




Simonsen, jeg har ikke kørt noget af det, jeg koder stort set aldrig Java mere. Mine kommentarer er derfor udelukkende af generel karakter i den her tråd :)

Mvh.

Kasper (TSW)



Søren Enevoldsen, du er gud.
Skal have fundet ud af hvordan jeg leger med array også, men det kommer.



Indlæg senest redigeret d. 01.05.2011 21:45 af Bruger #13297
t