Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

setTipo

Minha duvida se refere ao public class Teste, pois ao complicar o codigo, o f2 e o f1 ficam com o mesmo resultado, mesmo eu definindo o f2 com tipo (1), na compilação ele aparece com tipo (0) , igual o f1

public class FuncionarioCopia {

    private String nome;
    private String cpf;
    private double salario;
    private int tipo =0; /* 0 = func comum , 1= Gerente, 2= diretor*/   


   public void setTipo(int tipo){
   }

   public int getTipo(){
        return tipo;
   }

    public double getBonificacao(){
        if (this.tipo==0){
            return this.salario*0.10;      
        } else if (this.tipo==1){
            return this.salario;
        }else{
            return this.salario+1000.0;
        }

    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public double getSalario() {
        return salario;
    }

    public void setSalario(double salario) {
        this.salario = salario;
    } 
}

public class Teste { public static void main(String[] args) {

    FuncionarioCopia f1 = new FuncionarioCopia();

    f1.setSalario(1000.00);
    System.out.println(f1.getTipo());
    System.out.println(f1.getBonificacao());

    FuncionarioCopia f2 = new FuncionarioCopia();

    f2.setTipo(1);
    f2.setSalario(1000.00);
    System.out.println(f2.getTipo());
    System.out.println(f2.getBonificacao());
}

}

2 respostas
solução!

Olá Marília,

O método setTipo(); da classe FuncionarioCopia está com corpo vazio (sem implementação):

public void setTipo(int tipo){
   }

Ele deve receber um int do tipo do funcionário (1 ou 2) e setar esse valor no atributo private int tipo =0 :

public void setTipo(int tipo){
    this.tipo = tipo;
   }

Depois só rodar que compila :-)

Você tem que arrumar o set para atribuição do valor para os objetos.

seu set public void setTipo(int tipo){ }

set correto public void setTipo(int tipo){ this.tipo = tipo; }

Saída desejada

0 100.0 1 1000.0