Originariamente inviato da isal
Ho aggiunto il try/catch e ho apportato alcune modifiche al codice ( riportato sotto), ma ora il programma funziona solo con la prima matricola del fileEsami , se inserisco un altro studente e quindi un' altra matricola , compilatore mi da questo errore:
Exception in thread "main" java.lang.NullPointerException
at Prova.main(Prova.java:12)
codice:
import java.io.*;
import java.util.*;
public class Prova {
public static void main(String[] args)throws Exception{
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(new File("fileEsami.txt"))));
Studente s=new Studente("1123567", "Bianchi","Mario","10-01-1985","Roma");
Vector v=new Vector();
int cost=0;
while(cost!=1){
String mat=br.readLine();
if(mat.equals(s.getMatricola())){
cost=1;
String variabile="s";
while(!variabile.equals("#")){
String simbolo=br.readLine();
Esame es =Esame.read(br);
while(es!=null){
v.addElement(es);
es =Esame.read(br);
}
variabile="#";
simbolo=br.readLine();
}
}else{
String var="t";
while(!var.equals("#")){
String sim=br.readLine();
Esame esa =Esame.read(br);
while(esa!=null){
v.add(esa);
esa =Esame.read(br);
}
var="#";
sim=br.readLine();
}
cost=0;
}
}
Enumeration e=v.elements();
while(e.hasMoreElements()){
Esame es=(Esame) e.nextElement();
es.print(System.out);
}
}
}
Come posso risolvere il problema??
Vuol dire che punta ad un oggetto che in quel momento vale null, quindi andando a richiamre un metodo su quell'oggetto, essendo null, genera l'eccezione NullPointerException. Vedi qual'è quest'oggetto e gestisci l'eventualità che sia nullo.... penso che la riga interessata sia questa
codice:
if(mat.equals(s.getMatricola())){
.....
comunque verificalo tu e in caso fai qualcosa del genere
codice:
if(mat != null){
if(mat.equals(s.getMatricola())){
.....
Ciao