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

Como consigo usar getters e setters nesse codigo ?

package folhaPagamento;

import java.util.Locale; import java.util.Scanner;

public class ApresentaFolhaDePagamento {

public static void main(String[] args) {

    Locale.setDefault(Locale.US);
    Scanner sc = new Scanner(System.in);

    double salario = 0;
    double quantidaDeHoras = 0;
    double valorHora = 0;
    double impostoDeRenda = 0;
    double inss = 0;
    double fgts = 0;
    double totalDeDescontos = 0;
    double salarioLiquido = 0;
    double quantidadeColaborador = 0;

    System.out.println("Entre com a quantidade de colaboradores");
    quantidadeColaborador = sc.nextDouble();

    for(int i = 0; quantidadeColaborador > i; i++) {

        System.out.println("Entre com a quantidade de horas do funcionario:");
        quantidaDeHoras  = sc.nextDouble();
        System.out.println("Entre com o valor da hora do funiconario:");
        valorHora = sc.nextDouble();

        salario = quantidaDeHoras * valorHora;

        if(salario <= 900.00 ){
            salario = salario;
            impostoDeRenda = 0;
            inss = salario * 10 / 100;
            fgts = salario * 11 / 100;
            totalDeDescontos = impostoDeRenda + inss;
            salarioLiquido = salario - totalDeDescontos;
        }else if(salario  > 900.00 && salario <= 1500.00) {
            salario = salario;
            impostoDeRenda = salario * 5 /100;
            inss = salario * 10 / 100;
            fgts = salario * 11 / 100;
            totalDeDescontos = impostoDeRenda + inss;
            salarioLiquido = salario - totalDeDescontos;
        }else if(salario  > 1500.00 && salario <= 2500.00) {
            salario = salario;
            impostoDeRenda = salario * 5 /100;
            inss = salario * 10 / 100;
            fgts = salario * 11 / 100;
            totalDeDescontos = impostoDeRenda + inss;
            salarioLiquido = salario - totalDeDescontos;
        }else if(salario  > 2500.00) {
            salario = salario;
            impostoDeRenda = salario * 5 /100;
            inss = salario * 10 / 100;
            fgts = salario * 11 / 100;
            totalDeDescontos = impostoDeRenda + inss;
            salarioLiquido = salario  - totalDeDescontos;
        }

    System.out.println("/--------------------------------/");
    System.out.println("Salario bruto: " + salario);
    System.out.println();
    System.out.println("Imposto de renda: " + impostoDeRenda);
    System.out.println();
    System.out.println("Inss: " + inss);
    System.out.println();
    System.out.println("Fgts: " + fgts);
    System.out.println();
    System.out.println("Total de descontos: " + totalDeDescontos);
    System.out.println();
    System.out.println("Salario liquido: " + salarioLiquido);

    }
    }

}

4 respostas
solução!

Boa noite! Os getters e setters são métodos que são utilizados para a manipulação de variaveis globais de uma classe.

No seu caso, o ideal seria criar um objeto que referencie a esses atributos. Ex:

public class NomeDoObjeto {

    private double salario = 0;
    private double quantidaDeHoras = 0;
    private double valorHora = 0;
    private double impostoDeRenda = 0;
    private double inss = 0;
    private double fgts = 0;
    private double totalDeDescontos = 0;
    private double salarioLiquido = 0;
    private double quantidadeColaborador = 0;

    public double getSalario() {
        return salario;
    }

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

    public double getQuantidaDeHoras() {
        return quantidaDeHoras;
    }

    public void setQuantidaDeHoras(double quantidaDeHoras) {
        this.quantidaDeHoras = quantidaDeHoras;
    }

    public double getValorHora() {
        return valorHora;
    }

    public void setValorHora(double valorHora) {
        this.valorHora = valorHora;
    }

    public double getImpostoDeRenda() {
        return impostoDeRenda;
    }

    public void setImpostoDeRenda(double impostoDeRenda) {
        this.impostoDeRenda = impostoDeRenda;
    }

    public double getInss() {
        return inss;
    }

    public void setInss(double inss) {
        this.inss = inss;
    }

    public double getFgts() {
        return fgts;
    }

    public void setFgts(double fgts) {
        this.fgts = fgts;
    }

    public double getTotalDeDescontos() {
        return totalDeDescontos;
    }

    public void setTotalDeDescontos(double totalDeDescontos) {
        this.totalDeDescontos = totalDeDescontos;
    }

    public double getSalarioLiquido() {
        return salarioLiquido;
    }

    public void setSalarioLiquido(double salarioLiquido) {
        this.salarioLiquido = salarioLiquido;
    }

    public double getQuantidadeColaborador() {
        return quantidadeColaborador;
    }

    public void setQuantidadeColaborador(double quantidadeColaborador) {
        this.quantidadeColaborador = quantidadeColaborador;
    }
}

aí depois seria apenas instanciar o objeto e utilizar os getters e setters criados. ex:

public static void main(String[] args) {

    Locale.setDefault(Locale.US);
    Scanner sc = new Scanner(System.in);
    NomeDoObjeto obj = new NomeDoObjeto();

    double salario = 0;
    double quantidaDeHoras = 0;
    double valorHora = 0;
    double impostoDeRenda = 0;
    double inss = 0;
    double fgts = 0;
    double totalDeDescontos = 0;
    double salarioLiquido = 0;
    double quantidadeColaborador = 0;

    System.out.println("Entre com a quantidade de colaboradores");
    obj.setQuantidadeColaborador(sc.nextDouble());

    for(int i = 0; obj.getQuantidadeColaborador() > i; i++) {

        System.out.println("Entre com a quantidade de horas do funcionario:");
        obj.setQuantidaDeHoras(sc.nextDouble());
        System.out.println("Entre com o valor da hora do funiconario:");
        obj.setValorHora(sc.nextDouble());

        obj.setSalario(obj.getQuantidaDeHoras() * getValorHora());

        if(obj.getSalario() <= 900.00 ){
            obj.setImpostoDeRenda(0); // não precisa informar, já que automaticamente o valor virá como 0
            obj.setInss(obj.getSalario() * 10 / 100);
            obj.setFgts(obj.getSalario() * 11 / 100);
            obj.setTotalDeDescontos(obj.getImpostoDeRenda() + obj.getInss());
            obj.setSalarioLiquido(obj.getSalario() - obj.getTotalDeDescontos());
        }else if(obj.getSalario()  > 900.00 && obj.getSalario() <= 1500.00) {
            obj.setImpostoDeRenda(obj.getSalario() * 5 /100);
            obj.setInss(obj.getSalario() * 10 / 100);
            obj.setFgts(obj.getSalario() * 11 / 100);
            obj.setTotalDeDescontos(obj.getImpostoDeRenda() + obj.getInss());
            obj.setSalarioLiquido(obj.getSalario() - obj.getTotalDeDescontos()); 
        }else if(obj.getSalario()  > 1500.00 && obj.getSalario() <= 2500.00) {
            obj.setImpostoDeRenda(obj.getSalario() * 5 /100);
            obj.setInss(obj.getSalario() * 10 / 100);
            obj.setFgts(obj.getSalario() * 11 / 100);
            obj.setTotalDeDescontos(obj.getImpostoDeRenda() + obj.getInss());
            obj.setSalarioLiquido(obj.getSalario() - obj.getTotalDeDescontos());
        }else if(obj.getSalario()  > 2500.00) {
            obj.setImpostoDeRenda(obj.getSalario() * 5 /100);
            obj.setInss(obj.getSalario() * 10 / 100);
            obj.setFgts(obj.getSalario() * 11 / 100);
            obj.setTotalDeDescontos(obj.getImpostoDeRenda() + obj.getInss());
            obj.setSalarioLiquido(obj.getSalario()  - obj.getTotalDeDescontos());
        }

    System.out.println("/--------------------------------/");
    System.out.println("Salario bruto: " + obj.getSalario());
    System.out.println();
    System.out.println("Imposto de renda: " + obj.getImpostoDeRenda());
    System.out.println();
    System.out.println("Inss: " + obj.getInss());
    System.out.println();
    System.out.println("Fgts: " + obj.getFgts());
    System.out.println();
    System.out.println("Total de descontos: " + obj.getTotalDeDescontos());
    System.out.println();
    System.out.println("Salario liquido: " + obj.getSalarioLiquido());

    }
}

Você também pode criar métodos para calcular automaticamente os valores. Ex:

public class NomeDoObjeto {
    /*
        atributos, getters e seters omitidos
    */

    public void calcularSalario() {
        this.salario = this.quantidaDeHoras * this.valorHora;
    }

    public void calcularImpostoDeRenda() {
        if(this.salario <= 900.00 ){
            this.impostoDeRenda = 0;
        } else if(this.salario  > 900.00 && this.salario <= 1500.00) {
            this.impostoDeRenda = this.salario * 5 /100;
        } else if(this.salario  > 1500.00 && this.salario <= 2500.00) {
            this.impostoDeRenda = this.salario * 5 /100;
        } else if(this.salario  > 2500.00) {
            this.impostoDeRenda = this.salario * 5 /100;
        }
    }

    public void calcularInss() {
        this.inss = this.salario * 10 / 100;
    }

    public void calcularFgts() {
        this.fgts = this.salario * 11 / 100;
    }

    public void calcularTotalDeDescontos() {
        this.totalDeDescontos = this.impostoDeRenda + this.inss;
    }

    public void calcularSalarioLiquido() {
        this.salarioLiquido = this.salario - this.totalDeDescontos;
    }

    public void calcularTudo() {
        calcularSalario();
        calcularImpostoDeRenda();
        calcularInss();
        calcularFgts();
        calcularTotalDeDescontos();
        calcularSalarioLiquido();
    }
}

ai quando for chamar no main basta chamar o método calcular tudo. ex:

public static void main(String[] args) {

    Locale.setDefault(Locale.US);
    Scanner sc = new Scanner(System.in);
    NomeDoObjeto obj = new NomeDoObjeto();

    double salario = 0;
    double quantidaDeHoras = 0;
    double valorHora = 0;
    double impostoDeRenda = 0;
    double inss = 0;
    double fgts = 0;
    double totalDeDescontos = 0;
    double salarioLiquido = 0;
    double quantidadeColaborador = 0;

    System.out.println("Entre com a quantidade de colaboradores");
    obj.setQuantidadeColaborador(sc.nextDouble());

    for(int i = 0; obj.getQuantidadeColaborador() > i; i++) {

        System.out.println("Entre com a quantidade de horas do funcionario:");
        obj.setQuantidaDeHoras(sc.nextDouble());
        System.out.println("Entre com o valor da hora do funiconario:");
        obj.setValorHora(sc.nextDouble());
        obj.setSalario(obj.getQuantidaDeHoras() * getValorHora());
        obj.calcularTudo();

        System.out.println("/--------------------------------/");
        System.out.println("Salario bruto: " + obj.getSalario());
        System.out.println();
        System.out.println("Imposto de renda: " + obj.getImpostoDeRenda());
        System.out.println();
        System.out.println("Inss: " + obj.getInss());
        System.out.println();
        System.out.println("Fgts: " + obj.getFgts());
        System.out.println();
        System.out.println("Total de descontos: " + obj.getTotalDeDescontos());
        System.out.println();
        System.out.println("Salario liquido: " + obj.getSalarioLiquido());

    }
}

Obrigado, ajudou muito. Agora entendi bem como funciona.