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

Total

Se eu quiser jogar um total, pra puxar um salário + a bonificação... tentei dessa forma aqui mas não consegui puxar, saiu 0.0, segue:

public class Funcionario2 {

private String Nome;
private String Cpf;
private double Salario;
private int tipo = 0; // 0 - funcionario 1 // 1 - funcionario 2 // 2 - funcionario 3
private double Total;

public double getBonificacao() {

    if (this.tipo == 0) 
        return this.Salario * 0.1;

    if (this.tipo == 1)
        return this.Salario;

    if (this.tipo == 2)
    return this.Salario ++;
    return Salario;
}

public void setTotal(double total) {
    Total = this.Salario + getBonificacao();
    }

public double getTotal() {
    return Total;
}

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

public int getTipo() {
    return tipo;
}
public String getNome() {
    return Nome;
}

public void setNome(String nome) {
    Nome = nome;
}


public String getCpf() {
    return Cpf;
}

public void setCPF(String cpf) {
    Cpf = cpf;
}

public double getSalario() {
    return Salario;
}

public void setSalario(double salario) {
    Salario = salario;
}

}

Na outra tela escrevi o seguinte ( caso o problema seja na segunda e não na primeira ):

public class TesteFuncionario2 {

public static void main(String[] args) {

    Funcionario2 sofhia = new Funcionario2();
    sofhia.setNome("Sofhia");
    sofhia.setCPF("123.456");
    sofhia.setSalario(3000.0);
    sofhia.setTipo(2);

    System.out.println(sofhia.getTotal());
}

}

Resultado: 0.0

3 respostas

Boa noite Gabriel,

Você ja conseguiu corrigir o erro ?

solução!

Boa tarde Gabriel,

O que acontece com seu código é que você criou esse método com uma entrada mas não utilizou ele em lugar nenhum, e colocou um argumento na assinatura que não é necessário utilizar .

public void setTotal(double total) {
    Total = this.Salario + getBonificacao();
    }

O que pode ser feito é remover o argumento double total que não está sendo utilizado no método setTotal(),

public void setTotal() {
        this.Total = this.Salario + getBonificacao();
    }

e chamar o método setTotal() dentro do método setSalario(), assim sempre que você alterar o salario do funcionário você também altera o total do salário dele.

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

Tenta se atentar também as convenções ao criar variáveis, as mesmas devem ser criadas sempre iniciando com letra minúscula.

Abraços.

Muito obrigado!