Ragazzi sto provando a fare un altro esercizio sulla falsa riga di quello sopra.Il file da leggere è:
codice:
3
1 880 600 Anna Anna
2 830 678 Luca Anni
3 223 610 Paolo Errore
Il programma scritto è il seguente:
codice:
public class Listone {
int numimmagini;
int cod;
int larg;
int alt;
String nome;
public Listone(int numimmagini,int cod,int larg, int alt,String nome){ this.numimmagini=numimmagini;
this.cod=cod; this.larg=larg;
this.alt=alt;
this.nome=nome;
}
public String toString(){
String descrizione;
descrizione= numimmagini+"\n"+cod+"\t"+larg+"\t"+alt+"\t"+nome;
return descrizione;
}
public int getnumimmagini(){
return numimmagini;
}
public int getcod(){
return cod;
}
public int getlarg(){
return larg;
}
public int getalt(){
return alt;
}
public String getnome(){
return nome;
}
}
parte operativa:
codice:
import java.io.*;
import java.util.*;
import java.util.StringTokenizer;
public class Esecuzione {
int numimmagini;
int cod;
int larg;
int alt;
String nome;
int i;
int numRighe;
Listone[]vet;
public Esecuzione(){
vet=new Listone[numRighe];
}
public void leggi(String nomeFile)throws IOException {
String line;
BufferedReader br=new BufferedReader(new FileReader (nomeFile));
i=0;
while ((line=br.readLine())!=null) {
i++;
}
numRighe=i;
vet=new Listone [numRighe];
i=0;
br.close();
br=new BufferedReader(new FileReader (nomeFile));
while ((line=br.readLine())!=null) {
StringTokenizer st;
st=new StringTokenizer(line);
int numimmagini=Integer.parseInt(st.nextToken());
int cod=Integer.parseInt(st.nextToken());
int larg=Integer.parseInt(st.nextToken());
int alt=Integer.parseInt(st.nextToken());
String nome=st.nextToken ();
vet[i]=new Listone (numimmagini,cod,larg,alt,nome);
i++;
}
}
public void stampa () throws IOException {
for (int j=0; j<vet.length ; j++){
System.out.println ("IL FILE CONTIENE \t:"+vet[j].toString() );
}
}
public static void main(String[]args)throws IOException {
Esecuzione vet=new Esecuzione();
String nomeFile="eseguilo.txt";
if(args.length==1)
nomeFile=args[0];
vet.leggi(nomeFile);
vet.stampa();
}
}
tuttavia mi da ancora questo errore:
codice:
Exception in thread "main" java.util.NoSuchElementException
at java.util.StringTokenizer.nextToken(StringTokenizer.java:349)
at Esecuzione.leggi(Esecuzione.java:32)
at Esecuzione.main(Esecuzione.java:50)
Premere un tasto per continuare . . .
gentilmente mi potreste aiutare a risolvere il problema?
So che il problema è il medesimo di prima(almeno credo) ma non riesco proprio a risolvere,grazie mille!