Retorno null em um valor booleano

4 respostas
J
Boa tarde a todos. Minha dúvida é referente ao seguinte código:
public void Bonifica(){
		
		if(venda>10000){
			aumento=salario+(salario*0.10);
			estado=true;
		}
	
	}
	public void Demite(){
		if(venda<5000){
		estado=false;
		}
	}
	public void Confere(){
		if (estado=true){
			confere="Trabalhando";			
		}
		else if (estado=false) {
			confere="Demitido";
		}
	}
Como podem ver, a minha variável do tipo String 'confere', está sendo setada de acordo com o resultado da minha variável do tipo booleano 'estado', o que ocorre, é que quando eu chamo a 'confere', o meu retorno é null. Gostaria de saber onde posso estar errando, e o que posso estar fazendo para corrigir este erro. Obrigado a todos.

4 Respostas

yhhik

o certo nao seria comparar em vez de atribuir?

public void Confere(){ if (estado==true){ confere="Trabalhando"; }

Jemerson

Tente fazer conforme yhhik orientou.

Uma dica:
Você concorda comigo que estado é uma variável booleana?Então ela só pode assumir
um dos dois valores : true ou false.

Sendo assim:
public void Confere(){  
        if (estado){  //só irá passar se for true,correto?
            confere="Trabalhando";            
        }  
        else //se chegou até aqui é porque não é true.
            confere="Demitido";  
          
    }

Qualquer coisa estamos aqui para ajudar.

J

Muito obrigado yhhik, realmente me desatentei aos operadores, erro de iniciante que sou. Agradeço também ao Jemerson, pela explicação. Sou novo em Java, estou aprendendo, sou muito grato a vocês que ajudam a nós (iniciantes), compartilhando a experiência e dando dicas, (por mais fáceis que sejam, acreditem, olhos destreinados não enxergarão). Thx.

ctosin

E se você quiser deixar ainda mais enxuto, você pode usar o operador ternário:

confere = estado ? "Trabalhando" : "Demitido";

Neste caso, caso a expressão “estado” retorne true, “Trabalhando” será atribuído à string. Caso contrário, ela receberá “Demitido”.

Abraço!

Criado 3 de dezembro de 2011
Ultima resposta 5 de dez. de 2011
Respostas 4
Participantes 4