6
respostas

aula 2- exercicio 4

gostaria de saber se esse codigo esta certo

class Empresa{

Funcionario[] funcionarios; String cnpj;

void adicionar(funcionarios){ for(int i=0; i< funcionarios.length; i++){ this.funcionarios[i]= new Funcionario(); } }

}

6 respostas

Isabel sempre que tiver uma duvida procura sempre clilcar em inserir coódigo e colar seu código la para sair formatado. E sim seu código está correto

Olá Isabel, no adicionar está faltando colocar o tipo da variável que está sendo parametrizada:

class Empresa {

    Funcionario[] funcionarios;
    String cnpj;

    void adicionar(Funcionario[] funcionarios) {
        for (int i = 0; i < funcionarios.length; i++) {
            this.funcionarios[i] = new Funcionario();
        }
    }

}

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

        Empresa cnpj= new Empresa();
        cnpj.funcionarios= new Funcionario[13];

        cnpj.adicionar(david);



        System.out.println(); 

    }
}

esta ocorrendo um erro. Nao consigo adicionar

Isabel, o que está acontecendo é que a variável 'david' não existe no escopo do método principal.

Dá uma olhada nesta implementação pra ver se ajuda a ilucidar o contexto:

// TestaFuncionarios.java
public class TestaFuncionarios {

    public static void main(String... args) {

        Empresa empresa = new Empresa(13);

        Funcionario david = new Funcionario("david");
        empresa.adicionar(david);

        System.out.println(Empresa.getQuantidade());

    }

}

class Funcionario {

    String nome;

    Funcionario(String nome) {
        this.nome = nome;
    }

}

class Empresa {

    Funcionario[] funcionarios;
    private static int proximo = 0;

    Empresa(int quantidade) {
        this.funcionarios = new Funcionario[quantidade];        
    }

    void adicionar(Funcionario funcionario) {
        this.funcionarios[Empresa.proximo++] = funcionario;
    }

    public static int getQuantidade() {
        return Empresa.proximo;
    }

}

Olá Isabel,

Vendo como está montando como um todo, a solução apresentada pelo Claudenir para o método adicionar é a correta.