1
resposta

Comparar salários após o aumento.

Boa noite, tudo bem? Eu gostaria de saber se é possível deixar os dois salários um ao lado do outro para comparar após o aumento e ,se é possível exibir apenas o valor do aumento sobre o salário tipo : salário 1000, aumento 10% = R$ 100 reais de aumento. Se o código pode ser melhorado. Obrigado!

package br.com.funcionarios.rh;

public class Funcionarios implements RegraAumento {
    private String nome;
    private String turno;
    private double matricula;
    private double cpf;
    private  double salario;

    public Funcionarios(String nome,String turno, double matricula, double cpf, double salario) {
        this.nome = nome;
        this.turno = turno;
        this.matricula = matricula;
        this.cpf = cpf;
        this.salario = salario;
    }

    public String getNome() {
        return nome;
    }

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

    public String getTurno() {
        return turno;
    }

    public void setTurno(String turno) {
        this.turno = turno;
    }

    public double getMatricula() {
        return matricula;
    }

    public void setMatricula(double matricula) {
        this.matricula = matricula;
    }

    public double getCpf() {
        return cpf;
    }

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

    public double getSalario() {
        return salario;
    }

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

    @Override
    public double valorPercentual(double percentual) {
        return salario * (percentual / 100);
    }
    public double calcularAumento(double percentual){
        double aumento = valorPercentual(percentual);
        return aumento;
    }

    public void aplicarAumento( double percentual){
        double aumento = calcularAumento(percentual);
        salario += aumento;
    }

    public void exibirInformacoes(){
        System.out.println("-------- Dados do Funcionário -------------\n");
        System.out.println("Nome : " + nome + " \nTurno : " + turno + "\nMatricula : " + matricula + " \nCPF : " + cpf + " \nSalário : R$ " + salario);
        System.out.println("--------------------------------------------");
    }


}

        
package br.com.funcionarios.rh;

public class Operadores extends Funcionarios {
    
    public Operadores(String nome,String turno, double matricula, double cpf, double salario) {
        super(nome, turno, matricula, cpf, salario);
    }
    @Override
    public void exibirInformacoes() {
        super.exibirInformacoes();
    }
}
package br.com.funcionarios.rh;

public class Main {
    public static void main(String[] args) {
        Operadores operador1 = new Operadores("Ivan Picareta", "2°T",171.171,51.51,2843.0);
        // Exibindo informações do operador1
        System.out.println("Informações do Operador 1:");
        operador1.exibirInformacoes();

        double aumento = operador1.calcularAumento(3.5);
        operador1.aplicarAumento(3.5);

        operador1.exibirInformacoes();
        System.out.println("### Informações após o Aumento ### : ");
    }
}
package br.com.funcionarios.rh;

public interface RegraAumento {
    double valorPercentual(double percentual);
}
1 resposta

Olá, André! Como vai?

Sobre a sua dúvida em comparar os salários antes e após o aumento e exibir apenas o valor do aumento, sim, é possível fazer essas alterações no código para atender ao que você precisa.

Vamos começar com a parte de exibir os salários lado a lado e o valor do aumento. Você pode modificar o método exibirInformacoes() na classe Funcionarios para incluir essas informações. Aqui está uma sugestão de como você poderia fazer isso:

public void exibirInformacoes(double percentual) {
    double salarioAntigo = salario;
    double aumento = calcularAumento(percentual);
    aplicarAumento(percentual);
    double salarioNovo = salario;

    System.out.println("-------- Dados do Funcionário -------------\n");
    System.out.println("Nome: " + nome);
    System.out.println("Turno: " + turno);
    System.out.println("Matricula: " + matricula);
    System.out.println("CPF: " + cpf);
    System.out.println("Salário Antigo: R$ " + salarioAntigo);
    System.out.println("Aumento: R$ " + aumento);
    System.out.println("Salário Novo: R$ " + salarioNovo);
    System.out.println("--------------------------------------------");
}

No método main da classe Main, você pode então chamar o método exibirInformacoes() passando o percentual de aumento como argumento:

public static void main(String[] args) {
    Operadores operador1 = new Operadores("Ivan Picareta", "2°T", 171.171, 51.51, 2843.0);
    System.out.println("Informações do Operador 1 antes do aumento:");
    operador1.exibirInformacoes(3.5);
}

Com essas alterações, o programa irá exibir as informações do funcionário antes e depois do aumento, bem como o valor do aumento aplicado, tudo em uma única chamada do método exibirInformacoes().

Essa abordagem mantém o código organizado e centraliza as informações sobre o aumento no método exibirInformacoes(), facilitando a manutenção e entendimento do código.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software