If com boolean

7 respostas
C

bom galera… eu to com o seguinte problema… estou tetando comparar um booleano mas estou tendo o seguinte problema:

<blockquote>Exception in thread “main” java.lang.NullPointerException

at Empresa.cadastraFuncionario(Empresa.java:19)

at InterfaceTexto.cadastraFuncionario(InterfaceTexto.java:66)

at InterfaceTexto.mostraMenu(InterfaceTexto.java:87)

at InterfaceTexto.show(InterfaceTexto.java:101)

at Teste.main(Teste.java:16)

Java Result: 1

</blockquote>

o problema esta aqui (no if):

public void cadastraFuncionario(String nome, String rua, int numero, String bairro, String cidade, String cep, int telefone, double salario) { for(int i = 0; i < funcionarios.length; i++) { if(funcionarios[i].isArmazenado() == false) { funcionarios[i] = new Funcionario(nome, rua, numero, bairro, cidade, cep, salario, telefone); break; } } }

a função isArmazenado:

public boolean isArmazenado() { return armazenado; }

Obrigado.

7 Respostas

rdgms

AEW!!!
O problema é que deve ter alguma coisa com null ai…
tem certeza que o erro esta dando nesse trecho do codigo?

T
public void cadastraFuncionario(String nome, String rua, int numero, String bairro, String cidade, String cep, int telefone, double salario)
    {
        for(int i = 0; i < funcionarios.length; i++)
        {
            if (funcionarios[i] == null || (funcionarios[i] != null && ! funcionarios[i].isArmazenado())) 
            {
               funcionarios[i] = new Funcionario(nome, rua, numero, bairro, cidade, cep, salario, telefone);
               break;
            }
        }
    }
C

putz… verdade… fiz e nem percebi… nossa brigadão cara!!! =D

T
public void cadastraFuncionario(String nome, String rua, int numero, String bairro, String cidade, String cep, int telefone, double salario)
    {
        for(int i = 0; i < funcionarios.length; i++)
        {
            if (funcionarios[i] == null || (funcionarios[i] != null && ! funcionarios[i].isArmazenado())) 
            {
               funcionarios[i] = new Funcionario(nome, rua, numero, bairro, cidade, cep, salario, telefone);
               break;
            }
        }
    }
O

thingol:
if (funcionarios[i] == null || (funcionarios[i] != null && ! funcionarios[i].isArmazenado()))
Assim já funcionaria, não?

if (funcionarios[i] == null || ! funcionarios[i].isArmazenado()) Uma vez que só testaria o segundo, se o primeiro fosse false, não dá pra acontecer NPE.

B

Uma pergunta:

Por que cadastrarFuncionário usa um vetor?

claudneto

Ele quer cadastrar funcionários em Array…

Deve ser algum exercício…

Criado 22 de outubro de 2008
Ultima resposta 23 de out. de 2008
Respostas 7
Participantes 6