Estou com uma dúvida aqui!
Não sei como faço para mostrar e imprimir os atributos do funcionario sem precisar fazer o System.out.println… alguém me daria uma sugestão?
Abaixo a questão… :roll:
Modele um funcionário. Ele deve ter o nome do funcionário, o departamento onde
trabalha, seu salário (double), a data de entrada no banco (String), seu RG (String), e um valor
booleano que indique se o funcionário está na empresa no momento ou se já foi embora.
Crie um método bonificar() que aumenta o salário do funcionário de acordo com o
parâmetro passado como argumento.
Crie também um método demitir() que não recebe parâmetro algum, só modifica o valor
booleano indicando que o funcionário não trabalha mais aqui.
Transforme o modelo acima em uma classe Java. Teste, usando uma outra classe que tenha o main.
Você deve criar a classe do funcionário chamada Funcionario, e a classe de teste você pode
nomear como quiser. A de teste deve possuir o método main.
Crie um método mostra(), que não recebe nem devolve parâmetro algum, e simplesmente
imprime todos os atributos do nosso funcionário. Dessa maneira você não precisa ficar copiando e
colando um monte de System.out.println() para cada mudança e teste que fizer com cada um de seus
funcionários, você simplesmente vai fazer:
Construa dois funcionários com o new, e compareos
com o ==. E se eles tiverem os mesmos
atributos? Para isso você vai precisar criar outra referência:
Crie duas referências para o mesmo funcionário, compareos
com o ==. Tire suas conclusões.
Para criar duas referências para o mesmo funcionário:
Funcionario f1 = new Funcionario():
f1.nome = “José”;
f1.salario = 100;
Funcionario f2 = f1;
O que acontece com o if do exercício anterior?
Se você crisar um método toString na classe Funcionario e chamar System.out.println(funcionario) ele vai imprimir o que estiver no seu método, por exemplo
public String mostrar(){
return "Nome: “+nome+” Cargo: " + departamento;
}
}
classe de teste
public class Teste {
publicstaticvoidmain(String[]args){Funcionariof1=newFuncionario();f1.nome=" Pedro";f1.departamento=" RH";f1.rg=" 4.291.123";f1.salario=500;f1.entradabanco=" Nao sei o q é";Funcionariof2=newFuncionario();f2.nome=" Pedro";f2.departamento=" RH";f2.rg=" 4.291.123";f2.salario=500;f2.entradabanco=" Nao sei o q é";}
}
BrunoBastosPJ
Do jeito que seu professor quer você vai ter que criar o método mostrar da seguinte maneira:
Funcionariof1=newFuncionario();f1.nome=" Pedro";f1.departamento=" RH";f1.rg=" 4.291.123";f1.salario=500;f1.entradabanco=" Nao sei o q é";f1.mostrar();...
Abs
R
rafael_raPJ
Cara muda o nome do seu método mostrar() para toString como sugerido pelo Bruno, pois se vc usar esses dados num comboBox por exemplo basta vc passar o objeto funcionario, com isso vc trabalha com o objeto ao invés de somento um nome, isso fica mais facil para vc posteriormente persistir isso.
BrunoBastosPJ
Eu tinha falado isso mas eu não tinha lido o que o professor estava pedindo hehehehe
Lá no primeiro post o professor pede para criar um método mostrar, por isso fiz o segundo post
Susa a dica do toString ainda é válida, se ficar curiosa da uma pesquisada sobre como ele funciona
Abs
S
susanPJ
Obrigada pessoal pela ajuda vcs são muito legais…
Mas como estou começando a aprender alguns coisas de classes vou precisar bastante da ajuda de vcs pra resolver esse exercício…
Consegui fazer o método mostrar()… rodou direitinho…
Minha dúvida agora é essa…
Crie um método bonificar() que aumenta o salário do funcionário de acordo com o
parâmetro passado como argumento.
Como que aplico o parâmetro…
é no metódo?dentro dos parênteses? como faço?
Abs!
P
PilonPJ
Como você não especificou muito bem oque queira, vou mostra um metodo so com sua assinatura.
humm… o parâmetro vai no parênteses então?
tipo o parâmetro é int?ou seja que viajei?
Mas como faço para bonificar o funcionário com aumento de salário? Preciso fazer um contador? como?
Melhor explicando…
Estabeleço um valor de R$ 500,00 por exemplo e para aumentar esse salário como faço no método bonificar?
A pergunta é a seguinte…
Crie um método bonificar()… que aumenta o salário do funcionário de acordo com o parâmetro passado como argumento…
A pergunta toda está bem no começo do forúm …se alguém puder me ajudar me dando mais dicas de como eu faço…
ficarei muito grata.
Abs!
P
PilonPJ
Não tinha visto
Você pode faze assim:
publicvoidbonificar(doublebonus)//parâmetro vai no parenteses{salario+=bonus;}
flw
S
susanPJ
tipo assim…
voidbonificar(doublebonus){bonus=500;// o bonus é de R$500,00salario+=bonus;}
Mas como faço pra imprimir isso? tem que ser na classe teste?
Valeu!!!
P
PilonPJ
Não é bem assim, esse bonus sera passado quando vc chamar o metodo.
bonificar(500);
por isso não precisa colocar bonus = 500; pois assim, o bonus sera sempre 500.
Sobre a forma de imprimir, coloque um metodo imprimir(),ou sobrescreva toString() , e coloque todas as informações do do funcionario: nome, salario, salario novo e assim por diante.
flw
P.S.:lembre-se que o fórum não esta aqui para te dar o código e sim te ajudar.
S
susanPJ
Pessoal obrigada pelas dicas.
Tenho outra dúvida:
Preciso desse método para dizer que a casa é digamos que azul. A primeira linha é a dada pelo professor, eu fiz assim depois…
1- Como faço para chamar o método somente e para imprimir a cor da casa, sem precisar repetir a informação, pois senão de nada adiantaria o método…né?
2- Ele precisa ser void? ou oque?
Abraços.
P
PilonPJ
Troque o “Azul” pelo s. Faça com que ele retorne a cor da cosa, ou seja mude o tipo de retorno dele para String e na hora de imprimir apenas chame ele dentro do println().
flw