Ik wil voor het openen van een tekstbestand alle woorden in een linked list zetten, dit is mij reeds gelukt met het volgende fragmend code
Nu heb ik echter nog een string met de hele tekst, deze wil ik via een functie opnieuw in de lijst zetten. De classe en functie is als volgt.
De applicatie doet het zonder foutmeldingen maar result blijft leeg. Als ik er een gewone string inzet doet hij het wel. Ik vermoed dat ik iets verkeerd met de StreamTokenizer doe maar ik weet niet wat. Ziet iemand wat er fout is?
code:
1
2
3
4
5
6
7
8
9
10
11
12
| FileReader in = new FileReader(file);
//Stop de woorden (onder elkaar) in de lijst
StreamTokenizer st = new StreamTokenizer(in);
st.lowerCaseMode(true);
int tokenType = 0;
int aantalTokens = -1;
do {
lijst.stopInDeRij(st.sval); //ontwikkel/test
tokenType = st.nextToken();
aantalTokens++;
} while (tokenType != st.TT_EOF);
in.close(); |
Nu heb ik echter nog een string met de hele tekst, deze wil ik via een functie opnieuw in de lijst zetten. De classe en functie is als volgt.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| class BubbleSort {
boolean swapped = false;
Lijst lijst = new Lijst();
String var1, var2, result;
String sorteer(String a) {
try {
Reader r = new StringReader(a);
StreamTokenizer st = new StreamTokenizer(r);
//Stop de woorden (onder elkaar) in de lijst
st.lowerCaseMode(true);
int tokenType = 0;
int nTokens = -1;
st.lowerCaseMode(true);
do {
lijst.stopInDeRij(st.sval); //ontwikkel/test
tokenType = st.ttype;
nTokens = st.nextToken();
nTokens++;
} while (tokenType != st.TT_EOF);
result = lijst.popAlleWoordenUitDeRij();
return result;
}
catch (IOException e)
{
return "geen bestand geladen?";
}
} |
De applicatie doet het zonder foutmeldingen maar result blijft leeg. Als ik er een gewone string inzet doet hij het wel. Ik vermoed dat ik iets verkeerd met de StreamTokenizer doe maar ik weet niet wat. Ziet iemand wat er fout is?
[ Voor 4% gewijzigd door BeachPatroller op 03-03-2005 14:54 ]
Ik ben malle Pietje niet.