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.
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.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); }
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).

Rispondi quotando