Buongiorno a tutti.
Sono uno studente di ingegneria elettrica, e sto tentando di risolvere un'esercizio, in preparazione dell'esame di programmazione in java.
In sostanza, devo leggere questo file :
1 duecento
600 cento
3 mille
6 duemila
Memorizzarlo in strutture dati oppurtune ( utilizzo il vettore) e poi stamparlo a video, ossia vedere a video il contenuto del file (file di testo .txt).
Ecco cosa ho prodotto :
codice:
// Prova del 5/9/2012
public class Cifra {
int num;
String quantita;
public Cifra(int num,String quantita){
this.num=num;
this.quantita=quantita;
}
public String toString(){
return num+"\t"+quantita;
}
public int getnum(){
return num;
}
public String getquantita(){;
return quantita;
}
}
// Prova del 5/9/2012
public class Cifra {
int num;
String quantita;
public Cifra(int num,String quantita){
this.num=num;
this.quantita=quantita;
}
public String toString(){
return num+"\t"+quantita;
}
public int getnum(){
return num;
}
public String getquantita(){;
return quantita;
}
}
E poi :
codice:
import java.io.*;
import java.util.*;
import java.util.StringTokenizer;
public class Testo {
int num;
String quantita;
int numRighe;
int i;
int j;
Cifra[]vet;
public Testo(){
vet=new Cifra[numRighe];
}
//effettuo la lettura
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 Cifra [numRighe];
i=0;
br.close();
br=new BufferedReader(new FileReader (nomeFile));
br.readLine();
while ((line=br.readLine())!=null) {
StringTokenizer st;
st=new StringTokenizer(line);
vet[i]=new Cifra (num,quantita);
i++;
}
}
public void stampa () throws IOException {
System.out.println ("IL FILE CONTIENE:\n");
for (int j=0; j<vet.length ; j++){
vet[j].toString();
}
}
public static void main(String[]args)throws IOException {
Testo vet=new Testo();
String nomeFile="esegui.txt";
if(args.length==1)
nomeFile=args[0];
vet.leggi(nomeFile);
vet.stampa();
}
}
Ho compilato tramite terminale del mac, tutto ok, quando lo eseguo, mi esce il seguente errore:
Exception in thread "main" java.lang.NullPointerException
at Testo.stampa(Testo.java:49)
at Testo.main(Testo.java:62)
Io, credo di aver capito, che sia un problema di array, poichè non me lo stampa a video.
Tuttavia ho provato di tutto, ma non sono riuscito a risolvere.
Spero mi possiate aiutare, grazie