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 :
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).1 duecento
600 cento
3 mille
6 duemila
Ecco cosa ho prodotto :
E poi :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; } }
Ho compilato tramite terminale del mac, tutto ok, quando lo eseguo, mi esce il seguente errore: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(); } }
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

Rispondi quotando