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

Dúvida no Ex.2 da Aula 4 - Arrays

class Funcionario {

    String nome;
    double saldo;
    int idade;

    void Dados() {
        System.out.println("Nome: " + this.nome);
        System.out.println("Idade: " + this.idade);
        System.out.println("Saldo: R$" + this.saldo);     
    }

 }

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

    void Adicionar() {
        int counter;
        for(counter = 0; counter <= this.funcionarios.length; counter ++) {
            if (this.funcionarios[counter] == null) {
                this.funcionarios[counter] = new Funcionario();
                break;
            }
        }
    }
}

class Programa05 {
    public void main(String[] args) {

        Empresa zapper = new Empresa();
        zapper.funcionarios = new Funcionario[10];

        zapper.funcionarios[0] = new Funcionario();
        zapper.funcionarios[0].nome = "Anderson";
        zapper.funcionarios[0].saldo = 500.0;
        zapper.funcionarios[0].idade = 22;
        zapper.funcionarios[0].Dados();

        zapper.funcionarios.Adicionar();

    }
}

Da o seguinte erro ao compilar : Programa05.java:43: error: cannot find symbol zapper.funcionarios.Adicionar(); ^ symbol: method Adicionar() location: variable funcionarios of type Funcionario[] 1 error

Eu quebrei a cabeça escrevendo e arrumando esse código e continuo sem entender o erro :/ Poderiam me ajudar?

2 respostas
solução!

Olá,

o correto seria:

zapper.Adicionar();

ao inves de:

zapper.funcionarios.Adicionar();

É necessário corrigir a assinatura do método main

De

public void main(String[] args

Para

public static void main(String[] args

Obrigado! :)