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

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

Esse é o código que utilizei no Ex.1 :

class Empresa{ String nomeEmpresa ; String cnpjEmpresa ;

//Array de Funcionarios Funcionario[] funcionarios;

void mostra(){ System.out.println("Nome da Empresa : "+nomeEmpresa); System.out.println("CNPJ : "+cnpjEmpresa); System.out.println(" ");

} }

class Funcionario{ String nome; String departamento; double salario; String entrada; String RG;

void mostra(){ System.out.println("Nome : "+ this.nome); System.out.println("Departamento : "+this.departamento); System.out.println("Salário : "+this.salario); System.out.println("Entrada : "+this.entrada); System.out.println("RG : "+this.RG); System.out.println(" "); }

}

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

//Cria a empresa Empresa emp = new Empresa();

emp.nomeEmpresa = "Couves LTDA"; emp.cnpjEmpresa = "555.444.333-98";

emp.mostra();

//Array de funcionarios com 2 posiçoes emp.funcionarios = new Funcionario[2];

//Criar funcionarios

//Funcionario 1 emp.funcionarios[0] = new Funcionario(); emp.funcionarios[0].nome = " Joao das couves"; emp.funcionarios[0].departamento =" Desenvolvimento de Couves"; emp.funcionarios[0].salario = 2000.0; emp.funcionarios[0].entrada = "31/02/2012"; emp.funcionarios[0].RG = "123.456.789-X";

emp.funcionarios[0].mostra();

//Funcionario 2 emp.funcionarios[1] = new Funcionario(); emp.funcionarios[1].nome = " Maria das Hortalicas"; emp.funcionarios[1].departamento = " Analise de Hortaliças"; emp.funcionarios[1].salario = 1500.0; emp.funcionarios[1].entrada = "25/08/2015"; emp.funcionarios[1].RG = " 486.456.224-X";

emp.funcionarios[1].mostra();

}

}

Não estou tenho certeza se estou conseguindo entender a lógica de como vai funcionar oque foi pedido neste exercício e certamente nao estou conseguindo implementar. Se alguém puder me explicar e dar algum exemplo. Obrigado.

1 resposta
solução!

Octavio , Boa Noite !!

pelo que percebi , a sua Classe empresa não está adicionando o funcionário . ele está com um método de mostra() .

no seu sistema , ele não está adicionando o funcionário em nenhuma posição , com isso quando você coloca funcionario[0] = new funcionario(); ele não sabe em qual posição está livre , qual não está , qual é a posição zero , entende .

na verdade a sua classe empresa é preciso estar desse jeito :

class Empresa {

    String cnpj ;
    String nome;
    Funcionario[] empregados ;
    int livre = 0;

    void adiciona(Funcionario funcionario){

        this.empregados[this.livre] = funcionario;

        this.livre++;        
    }
}

assim , você consiguira adicionar um funcionário alguma posição livre entende .

Espero ter ajudado, Bons estudos