Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problemas para chamar um método

package funcionario;

public class Empresa {
    String nome;
    double cnpj;
    double inscricaoEstadual;
    int telefone;
    String produtos;
    int precoProduto;
    public Funcionario[] cadastroFuncionario = new Funcionario[10];

    int i=0;
    public void adicionar (Funcionario f) {
        cadastroFuncionario[i]= new Funcionario();
        cadastroFuncionario[i]=f;
        i++;

    }

    public void mostrarDados(){
        for (Funcionario x : cadastroFuncionario){
            System.out.println(x.nomeFuncionario+" "+x.salarioFuncionario);
        }

    }
    public void mostrarTodosOsDados(){
        for (int i =0;i<cadastroFuncionario.length;i++){
            System.out.println("Funcionario na posicao: "+i);
            cadastroFuncionario[i].;
//Quando digito o nome do meu array e dou um ponto nao aparece o metodo mostrar dados, e se eu escrevo ele me da erro de compilação.
        }

    }

}

Essa é minha classe empresa porém não consigo chamar o método mostrarDados dentro do método mostrarTodosOsDados. O que há de errado.

1 resposta
solução!

Como está a sua classe Funcionário? Acho que o problema pode ser que o método mostraDados já exibe as informações de todos os funcionários (por isso você utiliza o for, ele faz o loop no array de funcionários). Já o seu método mostrarTodosOsDados, você deveria exibir dentro do loop todas as informações do seu funcionário. O correto é que no loop do mostraTodosOsDados, você faça uma chamada ao método da classe Funcionário responsável por exibir todas as informações dele.

Por exemplo:

class Empresa {
// Atributos da classe Empresa

public void mostraTodasAsInformacoes(){
        for(int i = 0; i < this.funcionarios.length; i++){
            if(this.funcionarios[i] == null ) {
                continue;
            }

            this.funcionarios[i].mostra();
        }
    }
}

class Funcionario {
// Atributos do funcionário

public void mostra() {
        // Exibe todas as informações do funcionário
    }

}