Java.lang.NullPointerException

di il
2 risposte

Java.lang.NullPointerException

Sera raga riscontro un eccezone di tipo nullpointerexception sul mio programma :

eccezione:
Exception in thread "main" java.lang.NullPointerException
at Aziendasanitaria.AziendaSanitaria.aggiuntaP(AziendaSanitaria.java:49)
at Aziendasanitaria.AziendaSanitaria.main(AziendaSanitaria.java:95)
Java Result: 1



codice:

package Aziendasanitaria;
import java.io.*;
import java.lang.*;
import java.util.*;


public class AziendaSanitaria {
public static Medico medico[];
public static Paziente paziente[][];

public String aggiuntaM( int i) throws Exception{
String na,b;
boolean ok=false;
int c,d;
//Scanner interi = new Scanner (System.in);
//Scanner stringhe = new Scanner (System.in);
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
// BufferedReader in1=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Nome medico: ");
na=in.readLine();
System.out.println("Cognome del medico: ");
b=in.readLine();
System.out.println("Eta del medico: ");
c = 0;
do{
try{
c=Integer.parseInt(in.readLine());
ok=true;
}
catch(Exception exc){
System.out.println("Valore errato: ");
}
}while(ok!=true);
do{
System.out.println("Reparto del medico: ");
d=0;
try{
d=Integer.parseInt(in.readLine());
ok=true;
}
catch(Exception exc){
System.out.println("Error 404");
}
}while(ok!=true);
medico=new Medico(na,b,c,d);
return medico.nome+" "+medico.cognome+" "+medico.eta+" "+medico.reparto;
}
public String aggiuntaP(int i, int j) throws Exception{
paziente[j]=new Paziente(null,null,0);
// Scanner in2= new Scanner(System.in);
// Scanner in3= new Scanner(System.in);
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
//BufferedReader in1=new BufferedReader(new InputStreamReader(System.in));
String a,c;
int b=0;
System.out.println("Nome paziente: ");
a=in.readLine();
System.out.println("Cognome del paziente: ");
c=in.readLine();
System.out.println("Numero di tessera sanitaria: ");
b=(int)Math.random()*9999;
paziente[j]=new Paziente(a,c,b);

return paziente[j].nome+" "+paziente[j].cognome+" "+paziente[j].tessera;
}

public static void main(String[] args) throws Exception {
// TODO code application logic here
boolean ok=false;
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
int i=0,j,nm = 0,npm[]=null,np=0 ;
//Scanner in3= new Scanner(System.in);
AziendaSanitaria asl= new AziendaSanitaria();
System.out.println("Inserire il numero di medici: ");
nm=Integer.parseInt(in.readLine());
medico = new Medico[nm];
for(i=0;i<nm;i++){
System.out.println((i+1)+") "+asl.aggiuntaM(i));
}
System.out.println("Inserire il numero di pazienti");
npm= new int[nm];
for(i=0;i<nm;i++){
BufferedReader k1= new BufferedReader(new InputStreamReader(System.in));
do{
try{
npm[i]=Integer.parseInt(k1.readLine());
ok= true;
}
catch(Exception exc){
System.out.println("Error 404");
}
}while(ok!=true);
np=npm[i];
for(j=0;j<np;j++){
System.out.println(asl.aggiuntaP(i,j));
}
}
}

}


sottoclassi:
package Aziendasanitaria;

public class Medico {
protected int eta,reparto;
protected String nome,cognome;
public Medico(String nome, String cognome, int eta, int reparto){
setn(nome);
setc(cognome);
sete(eta);
sets(reparto);
}
protected void setn(String nome){this.nome=nome;}
protected void setc(String cognome){this.cognome=cognome;}
protected void sete(int eta){this.eta=eta;}
protected void sets(int reparto){this.reparto=reparto;}
protected String getn(){return nome;}
protected String getc(){return cognome;}
protected int gete(){return eta;}
protected int gets(){return reparto;}
}

e


package Aziendasanitaria;


public class Paziente {
protected String nome,cognome;
protected int tessera;

public Paziente(String nome,String cognome,int tessera){
setn(nome);
setc(cognome);
sett(tessera);

}
protected void setn(String nome){this.nome=nome;}
protected void setc(String cognome){this.cognome=cognome;}
protected void sett(int tessera){this.tessera=tessera;}
protected long gett(){return tessera;}

protected String getc(){return cognome;}
protected String getn(){return nome;}

}

2 Risposte

  • Re: Java.lang.NullPointerException

    Boss273 ha scritto:


    Sera raga riscontro un eccezone di tipo nullpointerexception sul mio programma :
    public static Paziente paziente[][];

    Non hai istanziato questo array. Questo campo 'paziente' è e resta a null.
    Solo dichiarare il campo di classe static come Paziente[][] NON istanzia l'array. Lo dovresti fare tu.
  • Re: Java.lang.NullPointerException

    L avevo appena notato
Devi accedere o registrarti per scrivere nel forum
2 risposte