1
resposta

Como criar uma função que some os salários de 2 ou mais funcionários sem ter que ficar digitando os nomes?

Olá meu código está assim:

class Funcionario {

    String nome;
    String departamento;
    double salario;
    String dataEntrada;
    String identidade;

    // metodo para receber aumento.
    void recebeAumento(double valorAumentado){

        this.salario += valorAumentado;

    }

    // Metodo para calcular o ganho anual.

    double calculaGanhoAnual(){

        return this.salario * 12;

    }

}

class Programa {

    public static void main(String[] args){

        Funcionario pablo = new Funcionario();
            pablo.nome = "Pablo Lukan";
            pablo.departamento = "T.I.";
            pablo.salario = 5000;
            pablo.dataEntrada = "20/10/2013";
            pablo.identidade = "123465";

        Funcionario felipe = new Funcionario();
            felipe.nome = "Felipe Brasileiro";
            felipe.departamento = "creche";
            felipe.salario = 5000;
            felipe.dataEntrada = "16/10/2016";
            felipe.identidade = "987654";

    felipe.recebeAumento(1000);
    felipe.calculaGanhoAnual();

    System.out.println("O funcionario: " + felipe.nome + " ganha " + felipe.salario + " R$ e trabalha no setor: " + felipe.departamento);
    System.out.println("O funcionario " + felipe.nome + " gahanha por ano: " + felipe.calculaGanhoAnual());

    System.out.println();

    System.out.println("O funcionario: " + pablo.nome + " ganha " + pablo.salario + " R$ e trabalha no setor: " + pablo.departamento);
    System.out.println("O funcionario " + pablo.nome + " gahanha por ano: " + pablo.calculaGanhoAnual());

    }

}

Dai eu pensei em fazer uma função para somar os salários dos funcionários, queria que fosse inteligente, essa função teria que pegar a quantidade de funcionários e seus respectivos salários e somar! Alguém poderia me explicar como criar essa função?

Agradeço,

1 resposta
public double calcularTotalDeSalarios(Funcionario[] funcionarios){
    double total=0;
    for (int i = 0; i<funcionarios.lenght;i++){
        total += funcionarios[i].salario;
    }
    return total;
}

Fiz esse código diretamente no editor do Alura, não o testei. Então pode haver algum erro de sintaxe, mas é isso que está ai.