Ragazzi vi posto un codice, mi dite cosa nn quadra, a me nn va. Non da nessuna eccezione particolare, solo che nn fa quello che dovrebe fare.
codice:
public void createNode(String stringa) {
StringTokenizer tokenizza = new StringTokenizer(stringa);
String[] stringhetta = new String[tokenizza.countTokens()];
System.out.println(tokenizza.countTokens());
top = new DefaultMutableTreeNode("NetWork");
top.isRoot();
for (int i = 0; i == tokenizza.countTokens(); i++) {
stringhetta[i] = tokenizza.nextToken();
}
DefaultMutableTreeNode net = new DefaultMutableTreeNode(stringhetta[1]);
for (int j = 2; j == tokenizza.countTokens(); j++) {
DefaultMutableTreeNode servers = null;
servers = new DefaultMutableTreeNode(stringhetta[j]);
net.add(servers);
}
top.add(net);
}
Su per giu' funziona così. Da un file letto con un bufferedreader, riga per riga, passo la stringa della riga letta a questo metodo (String stringa). Qui dovrebbe "tokenizzarmela", e in effetti lo fa, perchè quel System.out.println(tokenizza.countTokens()) funzia e mi scrive il numero di parole per ogni riga. Però appena passa ai cicli nn va, o meglio nn fa quello che dovrebbe fare, in quanto ho provato a togliere i cicli e a fare dei tree manuali e poi li vede (li richiamo da un'altra parte di codice). Quindi il problema è proprio del token. Aiutatemi!!!!! So già che la soluzione è piu' semplice di quello che mi sembra, però nn ci arrivo.
Grazie a tutti.
p.s. il secondo for inizia da 2 perchè mi serve di saltare le prime due parole (non c'è la possibilità che vada in nullpointer perchè ogni riga del file ha almeno 3 parole).