estou a tentar registar um utilizador e dá erro java.lang.NullPointerException e não consigo descobrir porquê
deixo o erro e o codigo das classes
Exception in thread "main" java.lang.NullPointerException
at sge5f.SGE.MenuPrincipalFuncionarios_Utilizadores_Inserir_Docente_Responsavel(SGE.java:297)
at sge5f.SGE.MenuPrincipalFuncionarios_utilizadores(SGE.java:209)
at sge5f.SGE.MenuPrincipalFuncionarios(SGE.java:176)
at sge5f.SGE.Login(SGE.java:130)
at sge5f.SGE.opcaoEntradaDados(SGE.java:95)
at sge5f.SGE.main(SGE.java:19)
[code]public static void MenuPrincipalFuncionarios_Utilizadores_Inserir_Docente_Responsavel(Funcionarios _funcionarios)
{
//valida atraves do ficheiro utilizadores, pois só assim verifica se o BI do novo utilizador ja se encontra registado no sistema
ArrayList consultaUtilizadores=new ArrayList ();
consultaUtilizadores=(ArrayList) trataf.LeFicheiro(“Utilizadores.dat”);
//para actualizar caso se adicione utilizador
ArrayList <DocenteResponsavel> consultaDocenteResponsavel =new ArrayList <DocenteResponsavel>();
consultaDocenteResponsavel=(ArrayList<DocenteResponsavel>) trataf.LeFicheiro("DocenteResponsavel.dat");
//Novo array que vou utilizar para adicionar o novo utilizador
ArrayList <Utilizadores> consultaUtilizadoresAux=new ArrayList <Utilizadores>();
consultaUtilizadoresAux=null;
if(consultaUtilizadores==null || consultaUtilizadores.size()==0 )
menu.M_Aviso("Não existem Utilizadores Registados!");
else
{
DocenteResponsavel _docenteResponsavel= menu.M_MenuPrincipalFuncionarios_Utilizadores_Inserir_DocenteResponsavel(consultaDocenteResponsavel, _funcionarios);
// caso o método devolva Alunos
if(_docenteResponsavel !=null)
{
consultaUtilizadoresAux=_funcionarios.verificaInsereDcenteResponsavel(_docenteResponsavel,consultaUtilizadores);
if (consultaUtilizadoresAux!=null)
{ //acrescenta no array
consultaDocenteResponsavel.add(_docenteResponsavel); //é aqui que dá o o NULLPOINTEREXCEPTION
trataf.escreve(consultaUtilizadoresAux, "Utilizadores.dat");
trataf.escreve(consultaDocenteResponsavel, "DocenteResponsavel.dat");
menu.M_Aviso("Utiizador adicionado ");
MenuPrincipalFuncionarios(_funcionarios);
}
menu.M_Aviso("Utilizador ja inserido no sistema!");
MenuPrincipalFuncionarios(_funcionarios);
}
}
} [/code]
[code] public DocenteResponsavel M_MenuPrincipalFuncionarios_Utilizadores_Inserir_DocenteResponsavel(ArrayList carregaDocenteResponsavel, Funcionarios _func)
{
int opc=0;
String nomeAux="";
String moradaAux="";
String localidadeAux="";
String contactoAux="";
String usernameAux="";
String passwordAux="";
int tipouserAux=2;
int biAux=0;
int nifAux=0;
int idadeAux=0;
String areaAux="";
DocenteResponsavel _docenteResponsavel=null;
Funcionarios _funcionariosTemp=new Funcionarios();
Scanner scan = new Scanner(System.in);
Scanner scan1 = new Scanner(System.in);
do{
try{
System.out.print ('\f');
System.out.println("\t-> SGE ->Gestão de Utilizadores<-\n");
System.out.println("\t---->Inserir Docente Responsavel ao sistema\n");
System.out.println("Indique o nome do Docente Responsavel :\n");
nomeAux=scan.nextLine();
System.out.println("Indique a morada do Docente Responsavel\n");
moradaAux=scan.nextLine();
System.out.println("Indique a localidade Docente Responsavel\n");
localidadeAux=scan.nextLine();
System.out.println("Indique o contacto do Docente Responsavel\n");
contactoAux=scan.nextLine();
System.out.println("Indique o username doDocente Responsavel\n");
usernameAux=scan.nextLine();
System.out.println("Indique a password do Docente Responsavel\n");
passwordAux=scan.nextLine();
System.out.println("Indique o BI do Docente Responsavel\n");
biAux=scan.nextInt();
System.out.println("Indique o NIF do Docente Responsavel\n");
nifAux=scan.nextInt();
System.out.println("Indique a idade do Docente Responsavel\n");
idadeAux=scan.nextInt();
System.out.println("Indique o a area do Docente Responsavel\n\n");
areaAux=scan1.nextLine();
System.out.println("1- Guardar Guardar\n ");
System.out.println("2- Limpar\n ");
opc=scan1.nextInt();
}
catch(InputMismatchException e)
{
System.err.println("Deve inserir os dados correctos nos campos especificados!\n\n");
_docenteResponsavel=null;
String limpa =scan.nextLine();
}
if (opc==1)
{
_docenteResponsavel= new DocenteResponsavel(nomeAux,moradaAux,localidadeAux,contactoAux,usernameAux,passwordAux,tipouserAux,biAux,nifAux,idadeAux,areaAux);
}
}
while (_docenteResponsavel==null || opc==2);
return _docenteResponsavel;
}[/code]