Premetto che sono una novizia e sto imparando da autodidatta.
Ho implementato il seguente main:
eCodice PHP:public static void main(String[] a)
{
// Lettura dati da tastiera
Lettore tastiera = Lettore.tastiera;
Scrittore video = Scrittore.video;
//Lettura da file
String nomeFile="C:\\Users\\Roberto\\Documents\\NetBeansProjects\\TesiBrioni\\src\\tesibrioni\\istanza.txt";
Istanza ist=new Istanza(nomeFile);
int nNodi=ist.getNNodi();
int nDip=ist.getNDip();
int nGG=ist.getNGG();
double [] asc = ist.getAscisse();
double [] ord = ist.getOrdinate();
video.print("Numero nodi:");
video.println(nNodi);
video.print("Numero dipendenti:");
video.println(nDip);
video.print("Numero giorni lavorativi:");
video.println(nGG);
for(int pos = 0; pos < nNodi; pos++)
{
video.print("Ascissa:");
video.println(asc[pos]);
video.print("Ordinata:");
video.println(ord[pos]);
}
più tutti i metodi per ottenere le informazioni. Quando mando in esecuzione ottengono questo messaggio:Codice PHP:public class Istanza {
int nNodi;
int nDip;
int nGG;
double [] asc;
double [] ord;
double [][] distanze;
boolean coordinate=true;
String nomeFile="";
public Istanza(String file)
{
nomeFile=file;
Lettore istanza=new Lettore(file);
int nRighe=istanza.contaRighe();
//Lettura dati
for(int i=1; i<nRighe;i++)
{
String riga=istanza.leggiRiga();
if(i==3)
{
String dimensione=istanza.leggiRiga();
i++;
StringTokenizer tok=new StringTokenizer(dimensione);
tok.nextToken();
tok.nextToken();
nNodi = Integer.parseInt(tok.nextToken());
}
else if(i==4)
{
String dipendenti=istanza.leggiRiga();
i++;
StringTokenizer tok=new StringTokenizer(dipendenti);
tok.nextToken();
tok.nextToken();
nDip = Integer.parseInt(tok.nextToken());
}
else if(i==4)
{
String giorni=istanza.leggiRiga();
i++;
StringTokenizer tok=new StringTokenizer(giorni);
tok.nextToken();
tok.nextToken();
nGG = Integer.parseInt(tok.nextToken());
}
else if(riga.equals("NODE_COORD_SECTION :"))
{
asc=new double[nNodi];
ord=new double[nNodi];
for(int j=0; j<nNodi;j++)
{
String coord=istanza.leggiRiga();
i++;
StringTokenizer tok=new StringTokenizer(coord);
tok.nextToken();
double x= Double.parseDouble(tok.nextToken());
double y=Double.parseDouble(tok.nextToken());
asc[j]=x;
ord[j]=y;
}
}
}
istanza.chiudi();
}
Exception in thread "main" java.util.NoSuchElementException
at java.util.StringTokenizer.nextToken(StringTokenize r.java:332)
at tesibrioni.Istanza.<init>(Istanza.java:43)
at tesibrioni.Main.main(Main.java:42)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
e nulla di quello che avevo chiesto di visualizzare.
Dove sbaglio? grazie

Rispondi quotando