Dúvida de retorno de valores dentro do método

3 respostas
java
T

Boa noite, estou com uma dúvida frente a um exercício, estou infornando o valor do valor do salário e que retorne os valores de porcentagem de aumento, valor do aumento e um novo salário, como posso fazer nesse caso?
Segue o código abaixo com método e o main abaixo:
//public class Exercicio11 {

private double salarioAtual, porc_aumento, valorAumento, novoSalario;

public double getSalarioAtual() {
	return salarioAtual;
}

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

public double getPorc_Aumento() {
	return porc_aumento;
}

public void setPorc_Aumento(double porc_aumento) {
	this.porc_aumento = porc_aumento;
}

public double getValorAumento() {
	return valorAumento;
}

public void setValorAumento(double valorAumento) {
	this.valorAumento = valorAumento;
}

public double getNovoSalario() {
	return novoSalario;
}

public void setNovoSalario(double novoSalario) {
	this.novoSalario = novoSalario;
}

public double novoSalario(double sa) {
	if(sa < 280){
		porc_aumento = 0.2;
		valorAumento = sa * porc_aumento;
		novoSalario = sa + valorAumento;
	}
	else if(( sa >= 280) && (sa < 700)){
		porc_aumento = 0.15;
		valorAumento = sa * porc_aumento;
		novoSalario = sa + valorAumento;
	}
	else if((sa >= 700 ) && (sa < 1500)) {
		porc_aumento = 0.10;
		valorAumento = sa * porc_aumento;
		novoSalario = sa + valorAumento;
	}
	else{
		porc_aumento = 0.05;
		valorAumento = sa * porc_aumento;
		novoSalario = sa + valorAumento;
	}
	return novoSalario; 
}//

O main:
Exercicio11 ex = new Exercicio11();

ex.setSalario(Double.parseDouble(JOptionPane.showInputDialog("Informe salário: ")));
	StringBuilder mensagem = new StringBuilder();
	mensagem.append("Organização Tabajara \nSalário Atual R$" + ex.getSalarioAtual() 
			+ "\nPorcentagem do Salário: " +ex.getPorc_Aumento() * 100
			+ "\nValor Aumento R$" + ex.getValorAumento() 
			+ "\nNovo Salário R$" + ex.getNovoSalario());
	JOptionPane.showMessageDialog(null, mensagem);
	System.out.println(mensagem);

// Jà está instanciando a classe porém está com valor zerado:
Organização Tabajara
Salário Atual R$200.0
Porcentagem do Salário: 0.0
Valor Aumento R$0.0
Novo Salário R$0.0

3 Respostas

T

Deixe quieto consegui resolver e vou continuar estudando a parte de geter / setter

Leonardo_Santos3

Você crio o método pra fazer o calculo do novo salario mas não tá chamando ele, e não tá gravando os dados de porcentagem e nem de valor de aumento.

Faz o seguinte:

public double novoSalario(double sa) {
	if(sa < 280){
		this.setPorc_Aumento(0.2);
		this.setValorAumento(this.getSalario() * this.getPorc_Aumento());
		novoSalario = this.getSalario() + this.getValorAumento();
	}
	else if(( sa >= 280) && (sa < 700)){
          (Mesma troca aqui)
    }
    else if((sa >= 700 ) && (sa < 1500)) {
          (Mesma troca aqui)
    }
    else{
        (Mesma troca aqui)
    }
    return novoSalario;
}//

Depois, em vez de chamar o novo salario assim “ex.getNovoSalario();” você chama o metodo ex.novoSalario(ex.getSalarioAtual());

T

Entendi,
Eu consegui fazer declarando um novo método de cálculo para ficar uma coisa só, antes chamei o método, primeiro é o método que você invoca depois faz do cálculo para exibir valores.

Criado 12 de novembro de 2019
Ultima resposta 15 de nov. de 2019
Respostas 3
Participantes 2