então sou novo em Java… estou aprendendo por conta propria… é logico consultando um monte de Tutorial,
mais estou com um problema em um codigo… concerteza deve ser besteira… mais ai vai
Então nesse codigo queria que me retornasse que o funcionario foi demitido, o ruim é que ele da um problema na condicao, ele fala que não encontrou o simbolo na variavel condicao
class TestaFuncionario
{
public static void main(String[] args)
{
Funcionario f1 = new Funcionario();
f1.nome = "Fedora";
f1.funcao = "Auxiliar";
f1.departamento = "Auxiliacao";
f1.salario = 600;
f1.dataEntrada = "01/06/2006";
f1.rg = "25.654.256-2";
f1.bonifica(150);
f1.condicao("demitido");
if (f1.condicao == 1)
{
System.out.println("O Funcionario esta Desligado da Empresa");
}
else
{
System.out.println("Nome: " + f1.nome);
System.out.println("Funcao: " + f1.funcao);
System.out.println("Departamento: " + f1.departamento);
System.out.println("Salario Atual: " + f1.salario);
System.out.println(f1.dataEntrada);
System.out.println(f1.rg);
}
}
}
essa é a classe onde tá a condicao, assim agora ta com int mais ja tentei com string com boolean, alguem pode me ajudar vlw abraço
Você está enganado, não precisa de else algum no código da condição dele.
Pelo que vi o problema é o que o nosso amigo dedspr disse mesmo, ele teria que usar o .equals.
só que ainda está dando o mesmo erro vou colocar ele inteiro aqui
TestaFuncionario.java:15: cannot find symbol
symbol : variable condicao
location: class Funcionario
________________if (f1.condicao.equals(“1”))
___________________^
1 error
é isso ai que sai no prompt,
o codigo estou escrevendo em notepad, não sei se pode ter diferença,
vlw abraço
ahhh o equals eu coloquei agora para testar como o dedspr disse
e alterei na classe funcionario de int para String.
você esta chamando condicao como se fosse um atributo de f1 e não
um metodo, e como f1 não tem atributo condicao, da um erro.
Enjambrando seria:
if (f1.condicao("demitido") == 1)
condicao() “com chaves é um metodo sem chaves é uma variável”
se você usar f1.condicao() tambem da erro pois essa função exige um
parâmetro, que você definiu como String na classe Funcionario.
Observe que na sua função condicao() retorna um valor “int” certo!!
int condicao( String situacao )
{
if ( situacao == "demitido") {
return 1;
}else{ // não esqueça do else
return 2;
}
}
Quando você executar essa função, ela vai retornar um int
que pode ser armazenado em uma variável.
ex:
int cond = f1.condicao("demitido");
depois podes executar a condição
if( cond == 1 )
//faça tal coisa
else
//faça outra coisa
Espero ter ajudado,
com chaves, pois se você colocar só f1.condicao, o java fai pensar
que é um atributo!!!