Originariamente inviato da LeleFT
Subdolo, ma l'ho scovato.
Nel metodo leggi() tu fai questo:

codice:
...
br=new BufferedReader(new FileReader (nomeFile));
br.readLine();

while ((line=br.readLine())!=null) {
   StringTokenizer st;
   ...
}
Quella riga in grassetto si mangia la prima riga. Quindi, tu inizializzi l'array "vet" con tante righe quante sono quelle del file... ma crei un oggetto in meno... ovvero, l'ultimo elemento dell'array non viene creato perchè in quel while fai un iterazione in meno.

Togli di mezzo quella riga e "tutto funziona".

L'ho messo tra virgolette perchè in realtà non vedrai stampare nulla visto che l'istruzione

codice:
vet[j].toString();
Non fa nulla... il metodo toString() restituisce una stringa, ma tu la butti via... forse volevi mettere quell'istruzione in un System.out.println().

Ciao.
Grazie mille, in effetti è come dici tu. Il problema è stato risolto, tuttavia, ora mi da questo risultato :
codice:
IL FILE CONTIENE:
0	null
IL FILE CONTIENE:
0	null
IL FILE CONTIENE:
0	null
IL FILE CONTIENE:
0	null
Tale risultato, l'ho ottenuto modificando quanto segue :
codice:
public void stampa () throws IOException {

          for (int j=0; j<vet.length ; j++){
	  System.out.println ("IL FILE CONTIENE:\n"+ vet[j].toString());
              
                    
              }	
         }
Ora, date le tue utilissime spiegazioni, capisco di aver sbagliato qualcosa, nell'assegnazione delle variabili, ma non so proprio come porre rimedio.
Potresti aiutarmi, ulteriormente ?
Scusa se utilizzo un lessico non troppo adatto, ma non sono per niente pratico, e sto facendo una fatica mostruosa per tentare di capire questo linguaggio, al fine di raggiungere un buon risultato all'esame.
Grazie.