Galera estou com um problema ao realizar uma busca em um vetor!
o erro é o seguinte: “AWT-EventQueue-0” java.lang.NullPointerException
eu realizo a busca da seguinte maneira:
public Setor BuscarSetor(Setor VetorS[],String Sigla){
int i = 0;
Setor S;
while ((Sigla != VetorS[i].MostrarSigla()&& (VetorS[i] != null))){
i++;
}
S = VetorS[i];
return S;
}
O sistema é assim cadastra um setor e ao cadastrar um funcionario ele busca a Sigla do setor ao qual o funcionario pertence.Só q a busca sempre retorna vazio.
Alguem sabe o q estou fazendo de errado.
Se ajudar o metodo buscarSetor eu criei na classe setor.Só q eu chamo o metodo no frame da seguinte maneira:
obj_Setor = S1.BuscarSetor(VetorS,textField7.getText());
textField8.setText(obj_Setor.MostrarNome());
BJSSSSSSSSSSS
O problema está no teste que vc faz:
(Sigla != VetorS[i].MostrarSigla()&& (VetorS[i] != null)
Inverta a ordem dos teste para:
while (VetorS[i] != null && Sigla != VetorS[i].MostrarSigla())
Isso acontece pelo fato de VetorS[i] ser nulo e tentar acessar o método MostrarSigla().
Bom segui seu conselho e inverti os comandos mas continua com o msm erro!!O que faço???
Na verdade não era para dar este erro, já que o operador && ignora a segunda instrução, caso a primeira intrução seja false…
O que pode estar acontecendo é que seu erro não está no buscarSetor e sim nesta instrução.
textField8.setText(obj_Setor.MostrarNome());
Caso seu método buscar setor retorne null você pode estar tentando chamar um método em uma referência nula…
Outro problema que pode estar acontecendo, e se você está passando um vetor que aponta para null, como por exemplo neste código
Object[] obj = null;
Escreva algunn System.out no seu programa para ver se os valores estão certos, ou estão nulos
Abs