void demite(){
if (this.ativo == false) // ANTES: if (this.ativo = false)
System.out.println("Funcionario demitido!");
else if (this.ativo == true) //ANTES: else if (this.ativo = true)
System.out.println("Funcionario em atividade!");
}
//VOCE ESQUECEU DE FECHAR O void demite
E
enantiomero
a) Tudo que você abre, tem de fechar. Você está esquecendo de fechar as coisas. Você fechou o método “demite”?
b) Cuidado - para fazer comparações, você precisa usar “==”, não “=”. (veja a comparação com true e false que você fez depois).
Se você for rodar o programa fazendo só a correção do item a), vai ver que ele vai até compilar, mas vai rodar errado.
E
enantiomero
De qualquer maneira, não é muito “bonito” fazer comparações com “true” e “false”. Eu normalmente escreveria assim:
você está usando para comparação um = só e tem que ser dois == ou seja
if(a==b){
}
:)
Z
Zyto
Ae obrigado a todos pela rapida ajuda prestada.
Realmente foi erro meu em não prestar atenção nas coisas que aberem e fecham.
No momento compilou legal.
Agora vou fazer um MAIN para testar e se der certo eu posto aqui.
Obrigado a todos novamente.
ViniGodoy
Aproveitando para falar em beleza. Também não acho bonito colocar um else, caso tenha um returno dentro do if. Portanto, também daria para escrever assim:
String statusDemitido () {
if (this.ativo) {
return "Funcionario em atividade!";
}
return "Funcionario demitido!";
}
Essa abordagem pouca muita identação. Fora que deixa claro que aquele if termina a execução do método, e não há necessidade de avaliar fora dele.
Agora, como esse é um caso simples, ficaria ainda mais bonito usar o ternário:
StringstatusDemitido(){returnthis.ativo?"Funcionario em atividade!":"Funcionario demitido!";
}
E existem mesmo 1001 maneiras de preparar Neston…
Z
Zyto
Ae povo quanto ao status demitido ficou certo e compilou legal.
Porem estou com outro problema na hora de testar.
TestaFuncionario.java:12: cannot find symbol
symbol : method mostra()
location: class Funcionario
func1.mostra();
^
1 error
Seu método é mostraFunc() e vc tá chamando mostra().
CrOnNoS
nome do seu método é mostraFunc() e não mostra() como você está tentando usar no main
recomendo você tentar resolver esses problemas lendo o que o compilador diz antes de postar.
Z
Zyto1 like
ae cristiano e cronos,
valew pela dica.
peço desculpa pela minha desatenção é que eu estou começando agora com o java e estou estudando sozinho.
daqui em diante vou tentar verificar esses erros que eu peguei e os proximos antes de postar aqui.
mesmo assim muito obrigado pela ajuda de todos neste topico.
Ao moderador se quiser tratar com resolvido a vontade.
Obrigado.
ViniGodoy
Na verdade, não sou eu que ponho como resolvido, é você mesmo.
Vá até o seu primeiro post, clique em editar e, bem no assunto, escreva [Resolvido].