msr90
14-04-2010, 10:03
Ciao a tutti, sto scrivendo un programma per esercizio, questo è il codice:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.FileReader;
import java.io.File;
public class PersonaTester {
public static void main(String[] args) throws IOException {
Persona[] persone = new Persona[10];
File file = new File("Autori.txt");//Autori.txt è un file da leggere
BufferedReader reader = new BufferedReader(new FileReader(file));
String line = reader.readLine();
while(line != null) {
int i = 0;
int primaVirgola = line.indexOf(",");
String nome = line.substring(0, primaVirgola);
int secondaVirgola = line.indexOf("," , primaVirgola);
String cognome = line.substring(primaVirgola + 1, secondaVirgola);
int terzaVirgola = line.indexOf("," , secondaVirgola);
Data dataNascita = new Data(line.substring(secondaVirgola + 1,terzaVirgola));
String cittaNatale = line.substring(terzaVirgola + 1, line.length());
persone[i] = new Persona(nome, cognome, dataNascita, cittaNatale);
line = reader.readLine();
i++;
}
System.out.println("Gli autori sono: ");
for(Persona a : persone)
System.out.println(a);
}
}
nel codice è presente una classe Data da me definita sempre per l'esercizio, e lo stesso vale per Persona, ma il problema è che in fase di esecuzione mi dice
StringIndexOutOfBoundsException: String index out of range: -1
e non riesco a capire cosa può significare...!!!!!:muro: Help!!!
Grazie in anticipo a tutti.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.FileReader;
import java.io.File;
public class PersonaTester {
public static void main(String[] args) throws IOException {
Persona[] persone = new Persona[10];
File file = new File("Autori.txt");//Autori.txt è un file da leggere
BufferedReader reader = new BufferedReader(new FileReader(file));
String line = reader.readLine();
while(line != null) {
int i = 0;
int primaVirgola = line.indexOf(",");
String nome = line.substring(0, primaVirgola);
int secondaVirgola = line.indexOf("," , primaVirgola);
String cognome = line.substring(primaVirgola + 1, secondaVirgola);
int terzaVirgola = line.indexOf("," , secondaVirgola);
Data dataNascita = new Data(line.substring(secondaVirgola + 1,terzaVirgola));
String cittaNatale = line.substring(terzaVirgola + 1, line.length());
persone[i] = new Persona(nome, cognome, dataNascita, cittaNatale);
line = reader.readLine();
i++;
}
System.out.println("Gli autori sono: ");
for(Persona a : persone)
System.out.println(a);
}
}
nel codice è presente una classe Data da me definita sempre per l'esercizio, e lo stesso vale per Persona, ma il problema è che in fase di esecuzione mi dice
StringIndexOutOfBoundsException: String index out of range: -1
e non riesco a capire cosa può significare...!!!!!:muro: Help!!!
Grazie in anticipo a tutti.