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

for Java 5.0

Como ficaria meu for se fosse usar o modelo do java 5.0?

class Funcionario{
    String nome;
    String cargo;
    double salario;
    String rg;
    Data entrada;

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

    double calculaGanhoAnual(){
        return this.salario * 12;
    }

    void mostra(){
        System.out.println("Nome: " + this.nome);
        System.out.println("RG: " + this.rg);
        System.out.println("Cargo: " + this.cargo);
        System.out.println("Data de entrada na empresa: " + this.entrada.mostrarData());
        System.out.println("Salário Mensal: " + this.salario);
        System.out.println("Salário Anual: " + this.calculaGanhoAnual());

    }

}

class Empresa{
    String nome;
    int cnpj;
    int telefone; 
    String email;
    Funcionario[] funcionarios;


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

    void mostraEmpregados (){
        for(int i = 0; i < this.funcionarios.length; i++) {
            if (this.funcionarios[i] != null) {
                System.out.println(this.funcionarios[i].nome + ": " + this.funcionarios[i].salario);
            }
        }
    }


}

class TestaEmpresa {
    public static void main(String[] args) {
        Empresa empresa = new Empresa();
        empresa.funcionarios = new Funcionario[4];

        Funcionario f01 = new Funcionario();
        f01.nome = "Carlos";
        f01.salario = 1500;
        empresa.adicionar(f01);


        Funcionario f02 = new Funcionario();
        f02.nome = "Jaime";
        f02.salario = 1800;
        empresa.adicionar(f02);


        Funcionario f03 = new Funcionario();
        f03.nome = "Joana";
        f03.salario = 6900;
        empresa.adicionar(f03);

        Funcionario f04 = new Funcionario();
        f04.nome = "Carol";
        f04.salario = 10000;
        empresa.adicionar(f04);

        empresa.mostraEmpregados();


    }
}
3 respostas
solução!
void mostraEmpregados(Funcionario[] funcionarios) {

    for (Funcionario funcionario: funcionarios) {
            System.out.println("Funcionário " + funcionario.nome);
            System.out.println(funcionario.salario);
        }
    }

e no main, o que ponho no lugar de "empresa.mostraEmpregados()"?

Você precisa de um array de funcionários, que você cria nessa linha:

empresa.funcionarios = new Funcionario[4];

No main é só chamar:

empresa.mostraEmpregados(empresa.funcionarios);