publicvoidinserir(Stringnon,intnum,Stringmor,intcon){inti=0;while(i<la.length){if(la[i].nome.equals("")){//erro nesta linhala[i]=newAluno(non,num,mor,con);System.out.printf("Regisdto efectuado com sucesso!!\n\n");break;}else{i++;}}if(i>=la.length){System.out.printf("Nao existe espaco");}}
Pelo que me parece vc está criando o verificando dados em um array que não foi declarado.
Seu código:
if(la[i].nome.equals("")){ //erro nesta linha
la[i]= new Aluno(non, num ,mor, con);
Você tem que declarar o array antes de verificar alguma coisa:
la[i]= new Aluno(non, num ,mor, con);
if(la[i].nome.equals("")){
....
}
Como vc esta adicionando dados pelo construtor, ou criar um construtor sem atributos ou modifica a forma de adicionar dados.
espinheira
Enadrov:
Pelo que me parece vc está criando o verificando dados em um array que não foi declarado.
Seu código:
if(la[i].nome.equals("")){ //erro nesta linha
la[i]= new Aluno(non, num ,mor, con);
Você tem que declarar o array antes de verificar alguma coisa:
la[i]= new Aluno(non, num ,mor, con);
if(la[i].nome.equals("")){
....
}
Como vc esta adicionando dados pelo construtor, ou criar um construtor sem atributos ou modifica a forma de adicionar dados.
Segue a dica do colega que você resolve…
fabianoalima
Como foi dito você tem um NullPointerException porque está referenciando um array que não existe.
Antes do loop você declarou a variável i, declare também o array assim:
List<Aluno>la=newArrayList<Aluno>();
Dica: Usando um ArrayList você não precisa percorrê-lo para procurar uma posição vazia pra inserir seu objeto.
Para adicionar o aluno use:
la.add(newAluno(non,num,mor,con));
Pode ficar assim:
publicvoidinserir(Stringnon,intnum,Stringmor,intcon){List<Aluno>la=newArrayList<Aluno>();la.add(newAluno(non,num,mor,con));System.out.printf("Regisdto efectuado com sucesso!!\n\n");}
As api’s permitem abstração de alguns recursos encapsulados. ArrayList por exemplo insere seu ítem no final do array e sempre insere uma linha
Não esqueça de editar o título do tópico e acrescentar [RESOLVIDO] no início quando solucionar o problema.
DavidUser
Variáveis não inicializadas (isso inclui elementos de um array) tem valor null e seus atributos e métodos portanto não podem ser acessados.
creio que a linha:
if(la[i].nome.equals("")){//erronestalinha
deveria ser na realidade:
if(la[i]==null){
ou caso queira pode inicializar no construtor todos os elementos do array.