|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 1056
|
[JAVA] For che riparte da solo - help
Ciao a tutti, ho scritto questo semplice codice che mi serve a elaborare alcune stringhe.
La situazione di partenza è che io ho un vettore di stringhe del tipo: Robachemiserve<tab>altrarobachemiserve<spazio>robachenonmiserve Il problema è che una volta arrivato alla fine del vettore, la i ritorna al valore iniziale senza motivo, e di conseguenza dato che nelle stringhe aggiornate lo spazio non c'è più, salta fuori una StringIndexOutOfBoundsException. E comunque se non succedesse andrebbe in loop.. Magical ![]() Note: la parte di vettore da considerare è quella che va da 10 a NLM-1 ecco il codice: Codice:
String aux; for(i=10;i<nlm;i++){ aux=""; j=0; while(linkmu[i].charAt(j)!=' '){ aux=aux+linkmu[i].charAt(j); j++;} linkmu[i]=aux; } ![]() |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
Codice:
String toBeParsed = linkmu.substring(10, nlm - 1); String result = toBeParsed.split(" ")[0]; ![]()
__________________
![]() Ultima modifica di ^TiGeRShArK^ : 13-06-2010 alle 08:23. |
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 1056
|
Quote:
questo è sbagliato, lavora su una sola stringa non sul vettore per farlo sul vettore dovrebbe essere una cosa del tipo Codice:
for(i=10;i<nlm;i++);{ String toParse = linkmu[i]; linkmu[i]=toParse.split(" ")[0];} ![]() |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
Se ti da una StringIndexOutOfBoundsException significa semplicemente che non ha trovato il carattere ' ' all'interno di una stringa che hai analizzato. Comunque dovresti usare dei nomi decenti per le variabili perchè non si capisce una mazza in quel modo... Infatti credevo che linkmu fosse una stringa e non mi ero accorto che era un vettore. Edit: e comunque StringTokenizer è deprecato, il metodo giusto da usare è String.split
__________________
![]() Ultima modifica di ^TiGeRShArK^ : 13-06-2010 alle 14:48. |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 1056
|
Quote:
|
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
Ma tipo usare il debug anzichè mettere le stampe no, eh? ![]()
__________________
![]() |
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 1056
|
Quote:
Non funzionano gli watches, dovrei reinstallare netbeans. E comunque no, non sono io che lo eseguo più volte ![]() EDIT: Anzi sì, l'ho messo dentro a un altro ciclo per sbaglio ![]() Risolto, grazie Ultima modifica di demonbl@ck : 13-06-2010 alle 15:02. |
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
![]()
__________________
![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:34.