3
respostas

Como seria essa parte do for para salários diferentes?

Não consegui entender muito bem. Segue o meu código.

class Funcionario {
    String nome;
    String departamento;
    double salario;
    String data;
    String rg;
    Data   dataInicio;


    void recebeAumento (double valor) {
        this.salario += valor;
    }

    double calculaGanhoAnual () {
        return salario * 12;
    }


    void mostra() {
    System.out.println("Nome: " + this.nome);
    System.out.println("Departamento: " + this.departamento);
    System.out.println("Salario: " + this.salario);
    System.out.println("RG: " + this.rg);
    System.out.println("Calculo anual: " + this.calculaGanhoAnual());
    System.out.println("Data de Início: " + this.dataInicio.getFormatada());

}
}

class Data {
    int dia;
    int mes;
    int ano;

    void modeloData (int dia, int mes, int ano) {
        this.dia = dia;
        this.mes = mes;
        this.ano = ano;
    }

    String getFormatada () {
        return this.dia + "/" + this.mes + "/" + this.ano;

    }

class Empresa {
    String nome;
    String cnpj;
    Funcionario empregados[]; 

    void adiciona (Funcionario f) {
        for (int i=0; i < empregados.length; i++) {
            if (empregados[i] == null) {
                this.empregados[i] = f;
            }else{
                continue;
            }
        }
    }

}
}


/*
class TesteFuncionario {
    public static void main(String[] args) {
        Funcionario taina = new Funcionario();

        taina.dataInicio = new Data();
        taina.dataInicio.modeloData(11,11,1987);
        taina.nome="Taina Moreira Lima";
        taina.salario=200;
        taina.departamento="CMO";
        taina.rg="10124833-47";
        taina.recebeAumento(50);


        taina.mostra();


        Funcionario f2 = new Funcionario();
        f2.nome ="Taefdsfdsina Moreira Lima";
        f2.salario=1200;



        if (taina == f2) {

            System.out.println("Iguais");
        }else{
            System.out.println("Diferentes");
        }




    }
}

*/

class TestaEmpresa {
    public static void main(String[] args) {

        Empresa sac = new Empresa();
        sac.empregados = new Funcionario[4];

        Funcionario f1 = new Funcionario();
        f1.nome="Taina";
        sac.adiciona(f1);

        Funcionario f2 = new Funcionario();
        f2.nome="Deborah";
        sac.adiciona(f2);


        Funcionario f3 = new Funcionario();
        f2.nome="Sergio";
        sac.adiciona(f3);


        Funcionario f4 = new Funcionario();
        f2.nome="Geisa";
        sac.adiciona(f4);

        sac.empregados[0].mostra();



    }
}
3 respostas

Oi Taina, o que vc quer dizer com "como seria com o salário"? Para mim não ficou claro :(. Vou dar alguns chutes..

Se vc quiser imprimir o salário, basta invocar o atributo do seu objeto.

Se a dúvida é pq não adicionamos o salário diretamente no array, é pq ele faz parte do objeto funcionário e, nesse caso, faz mais sentido adicionar o objeto inteiro.

Taina nos explique com mais detalhes qual sua dúvida para que possamos lhe ajudar.

Acho que a dúvida dela está no exemplo dado onde, ao invés de criarmos salários aleatórios repetidamente de forma manual, cria-se um for instanciando um funcionário e a cada iteração é gerado um salário diferente para cada instância. Este é o exemplo dado:

for (int i = 0; i < 5; i++) {
        Funcionario f = new Funcionario();
        f.salario = 1000 + i * 100;
        empresa.adiciona(f);
    }