Duvida Classe Funcionário, método DEMITE

4 respostas
thitkd

Boa noite,

Criei duas classes a de Funcionario e a classe de teste.
Criei o método de demição (demite), mas não consigo incluir nenhum (TRUE or FALSE) na classse de TESTE, para demitir o funcionário.
Vocês podem me ajudar?

CLASSE FUNCIONÁRIO:

package br.com.exercicios.empresa;

public class Funcionario {
	
	protected int numeroRegistro;
	protected String nome;
	protected String rg;
	protected String dataEntrada;
	protected String departamento;
	protected double salario;
	protected double bonificacao;
	
	protected double soma = salario+bonificacao;
	
	protected double getBonificacoes() {
		// TODO Auto-generated constructor stub
		return this.salario + bonificacao;
		// Desta forma, posso colocar a bonificação no valor que eu quiser.
	}
	
	protected void demite (){
		boolean demite = true;
		if (demite == true){
			System.out.println("Funcionario demitido");
		}
		else {
			System.out.println("Funcionario ativo");
			}
	}
}

CLASSE DE TESTE:

package br.com.exercicios.empresa;

public class Teste_Empresa extends Funcionario{

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Funcionario f1 = new Funcionario();
		f1.numeroRegistro = 1980;
		f1.nome = "Thiago Ignacio";
		f1.rg = "341864717";
		f1.departamento = "Informática";
		f1.salario = 4500.00;
		f1.bonificacao = f1.salario * 0.5;
		// Nesse método, foi colocado o salario de F1 * 0.5 sendo a metade de seu salario.
		f1.demite(true);                 // Acusa erro ao colocar TRUE ou FALSE.
		f1.soma = f1.salario+f1.bonificacao;
		// Em soma motro o salario + o valor de bonificação.
		
		System.out.println(f1);
		System.out.println("Numero de Registro = "+f1.numeroRegistro+ "\nNome = " +f1.nome +"\nRG = " +f1.rg +"Departamento = "+f1.departamento+"\nSalario = "+f1.salario +"\n"+"Bonificação = "+f1.bonificacao+ f1.demite()); 
		System.out.println(f1.soma+"\n");
		
		Funcionario f2 = new Funcionario();
		f2.numeroRegistro = 1552;
		f2.nome = "Roberta Nogueira";
		f2.rg = "55461621";
		f2.departamento = "Administração";
		f2.salario = 2500.00;
		f2.bonificacao = (100);
		f2.demite();
		f2.soma = f2.salario+f2.bonificacao;
		
		
		System.out.println(f2);
		System.out.println("Numero de Registro = "+f2.numeroRegistro+ "\nNome = " +f2.nome +"\nRG = " +f2.rg+"\nDepartamento = "+f2.departamento+"\nSalario = "+f2.salario +"\n"+"Bonificação = " +f2.bonificacao );
		System.out.println(f2.soma);
	}
}

4 Respostas

alberthy

Você criou o método demite na classe funcionário. Tudo bem!

Mas veja que você criou ele sem parametro certo?

O certo seria:

public void demite(boolean valor){

}

e na Classe Teste_Empresa ficaria:

f1.demite(true ou false);

Tudo bem?

Que mal lhe pergunte, mas você é de onde?

thitkd

Obrigado pela ajuda, mas…

Criei da forma que você falou, mas não sei como printar o valor de demite. Criei da seguinte forma.

protected void demite (boolean valor){
		if (true){
			System.out.println("Funcionario demitido");
		}
		else {
			System.out.println("Funcionario ativo");
			}

E na impressão, desta forma:

f2.demite(true);

System.out.print(f2.demite(false));  // mas está dando erro

Para imprimir esse true e false como devo utilizar?

Sou de São Paulo

leomorais

Tenta assim:

public boolean demite(boolean valor){
		
		if(valor){
			System.out.println("FUNCIONARIO DEMITIDO");
		}else{
			System.out.println("FUNCIONARIO ATIVO");
		}
		return valor;
		
	}
thitkd

[b]Agora eu entendi.

Obrigado pela ajuda.

Atenciosamente,

태권도 Thiago Ignacio
Oi ([telefone removido]
Tim ([telefone removido]
[/b]

Criado 16 de abril de 2011
Ultima resposta 17 de abr. de 2011
Respostas 4
Participantes 3