Java returning 0 in multiplication

1

The code is even simple to calculate the income of a vendor but in the multiplication in the case of 150000 * 0.1 it returns 0

code /

public class FuncionarioComissionado {
//Strings private para poder usar Get/Set
//Atributos
private String nome;
private String CPF;
private double taxaComissao;
private double vendasBrutas;
private double rendimentos;


// Criação de um construtor para a classe FuncionarioComissionado
// Construtor
public FuncionarioComissionado(String nome, String CPF, double taxaComissao, double vendasBrutas) {
	this.nome = nome;
	this.CPF = CPF;
	this.taxaComissao = taxaComissao;
	this.vendasBrutas = vendasBrutas;
}
// Calculo dos Rendimentos
//Metodo
private void Rendimentos(){
	rendimentos = (vendasBrutas * (taxaComissao / 100));
}

// Criação de Get's para cada Atributo
// Metodos
public double getRendimentos() {
	return rendimentos;
}
public String getNome() {
	return nome;
}
public String getCPF() {
	return CPF;
}
public double getTaxaComissao() {
	return taxaComissao / 100;
}
public double getVendasBrutas() {
	return vendasBrutas;
}
}

test /

FuncionarioComissionado f1 = new FuncionarioComissionado("Guilherme", "12345678921",10,125000);
    System.out.println(f1.getNome());
    System.out.println(f1.getCPF());
    System.out.println(f1.getTaxaComissao());
    System.out.println(f1.getVendasBrutas());
    System.out.println(f1.getRendimentos());
    
asked by anonymous 07.10.2018 / 01:44

1 answer

3

Returns 0 because its getRendimentos() method is simply returning the initialization value of the variable rendimentos , at no time of the code do you calculate.

I suggest two changes to the code:

  • Do not initialize names of methods with a capital letter, a java convention asks that only the constructor name be uppercase, and the other methods follow the camelcase format;

  • If you need to store the yields separately, first call the method that calculates and then call the getter of it.

With these changes, the class looks like this:

class FuncionarioComissionado {
    //Strings private para poder usar Get/Set
    //Atributos
    private String nome;
    private String CPF;
    private double taxaComissao;
    private double vendasBrutas;
    private double rendimentos;


    // Criação de um construtor para a classe FuncionarioComissionado
    // Construtor
    public FuncionarioComissionado(String nome, String CPF, double taxaComissao, double vendasBrutas) {
        this.nome = nome;
        this.CPF = CPF;
        this.taxaComissao = taxaComissao;
        this.vendasBrutas = vendasBrutas;
    }

    // Calculo dos Rendimentos
    //Metodo
    public void calculaRendimentos(){
        rendimentos = (vendasBrutas * (taxaComissao / 100));
    }

    // Criação de Get's para cada Atributo
    // Metodos
    public double getRendimentos() {
        return rendimentos;
    }
    public String getNome() {
        return nome;
    }
    public String getCPF() {
        return CPF;
    }
    public double getTaxaComissao() {
        return taxaComissao / 100;
    }
    public double getVendasBrutas() {
        return vendasBrutas;
    }
}

The test:

class Teste {

    public static void main (String[] args) {

    FuncionarioComissionado f1 = new FuncionarioComissionado("Guilherme", "12345678921",10,125000);
    System.out.println(f1.getNome());
    System.out.println(f1.getCPF());
    System.out.println(f1.getTaxaComissao());
    System.out.println(f1.getVendasBrutas());
    f1.calculaRendimentos();
    System.out.println(f1.getRendimentos());

    }
}

See working in ideone

    
07.10.2018 / 01:59