English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Tutte le categorie

Allora, prima che smonti tutto Java, chi mi sa dire perchè la funzione charAt(index) mi da StringIndexOutOfBoundsException in questo pezzo di codice?

reader è un BufferedReader collegato ad un file di testo.
String line;
String[] myline;
while(reader.ready())
{
line=reader.readLine();
myline=line.split(" ");
char a;
a=line.charAt(0); //L'errore me lo da qui
if(a=='#')
{
System.out.println("Ciao");
}
}
Grazie a tutti.

2007-03-02 22:05:40 · 2 risposte · inviata da Andrea 4 in Computer e Internet Programmazione e Design

Si, il vettore non è vuoto...L'unica cosa che mancava era un semplice controllo per vedere se il vettore non era vuoto. M'è bastato inserire if(line.lenght()!=0) che funziona. Probabilmente l'errore stava solo ad indicare che mancava un controllo...Comunque grazie, a Tranen i 10 punti.

2007-03-02 22:50:18 · update #1

2 risposte

L'errore che riporti indica che stai tentando di accedere a una posizione che non esiste. Ad esempio se hai un array di 3 posizioni e cerchi di accedere alla 4a posizione. Nel tuo caso probabilmente l'array è vuoto. Prima dell'errore prova a mettere un if per vedere se l'array è uguale a null.

Ah dimenticavo con nome_array.lenght() ottieni la lunghezza dell'array.

2007-03-02 22:39:37 · answer #1 · answered by Tranen 3 · 1 0

scusami .. piccola correzione al tuo commento ..
l'errore non stava ad indicare che mancava un semplice controllo, l'errore sta ad indicare che tu stai cercando di leggere qualcosa che non esiste, per cui dovresti rivedere la tua affermazione nell'ottica .. l'errore veniva lanciato perchè io non controllavo il contenuto della variabile ..

attento anche a myline, perchè se line è vuota, myline come minimo sarà vuota o al massimo conterrà un elemento di lunghezza 0

2007-03-04 08:29:53 · answer #2 · answered by Anonymous · 0 0

fedest.com, questions and answers