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

Duvida Exercício 3 da Aula 4

Prezados,

O código abaixo me trás os nomes dos funcionários e o dados das empresas, gostaria de saber como faço pra poder chamar os dados das empresas quando forem diferentes, pois tentei de tudo e não conseguir usar o void mostrarEmpresa corretamente.

class Funcionario {

    String nome;
    double salario;


    void mostra() {


     System.out.println("Nome: " + this.nome);
     System.out.println("Salario: " + this.salario);
     // Quebra de linha de um Funcionaria para outro.
     System.out.println("\n");

    }

}

class Empresa {

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

        void adiciona (Funcionario f){

               this.empregados [this.livre] = f;
            this.livre++;

        }      

        void mostraEmpresa() {


         System.out.println("Nome: " + this.nome);
         System.out.println("CNPJ: " + this.cnpj);

    }
}


class TesteEmpresa {

    public static void main(String[] args) {

        Empresa sesconti = new Empresa ();
        sesconti.empregados = new Funcionario [10];



        Funcionario nogueira = new Funcionario();
        sesconti.nome = "Sesconti Serviços";
        sesconti.cnpj = "1234567894596987";
        nogueira.nome = "Nogueira";
        nogueira.salario = 1200;
        sesconti.adiciona(nogueira);

        Funcionario laura = new Funcionario();
        sesconti.nome = "Sesconti Serviços";
        sesconti.cnpj = "1234567894596987";
        laura.nome = "Laura";
        laura.salario = 2000;
        sesconti.adiciona(laura);

         sesconti.mostraEmpresa();  
        sesconti.empregados [0].mostra();
        sesconti.mostraEmpresa();
        sesconti.empregados [1].mostra();

    }

}
5 respostas

Não entendi sua dúvida. O que você está tentando fazer e qual o erro está ocorrendo?

class TesteEmpresa {

    public static void main(String[] args) {

        Empresa sesconti = new Empresa ();
        sesconti.empregados = new Funcionario [10];



        Funcionario nogueira = new Funcionario();
        sesconti.nome = "Sesconti Serviços";
        sesconti.cnpj = "1234567894596987";
        nogueira.nome = "Nogueira";
        nogueira.salario = 1200;
        sesconti.adiciona(nogueira);

        Funcionario laura = new Funcionario();
     // sesconti.nome = "Sesconti Serviços";
        sesconti.nome = "Grupo BLV";
        sesconti.cnpj = "1234567894596987";
        laura.nome = "Laura";
        laura.salario = 2000;
        sesconti.adiciona(laura);

         sesconti.mostraEmpresa();  
        sesconti.empregados [0].mostra();
        sesconti.mostraEmpresa();
        sesconti.empregados [1].mostra();

    }

}

Na parte do segundo funcionario o nome da empresa mudasse, pq dessa forma que está só está repetindo a empresa do primeiro funcionario.

solução!

No seu mostraEmpresa, o nome que está sendo exido é o 'Grupo BLV', certo? Pois é o último definido.

Mas, se os dois empregados são de empresas diferentes, você precisa criar dois objetos do tipo empresa.

Empresa sesconti = new Empresa();
Empresa grupoBlv = new Empresa();

sesconti.nome = "Sesconti Serviços";
grupoBlv.nome = "Grupo BLV";

Era essa a sua dúvida?

Isso mesmo amigo muito obg. Veja como ficou o meu e olha se tem como melhorar.

class TesteEmpresa {

    public static void main(String[] args) {

        Empresa sesconti = new Empresa ();
        sesconti.empregados = new Funcionario [10];

        Empresa grupoBLV = new Empresa ();
        grupoBLV.empregados = new Funcionario [10];



        Funcionario nogueira = new Funcionario();
        sesconti.nome = "Sesconti Serviços";
        sesconti.cnpj = "1234567894596987";
        nogueira.nome = "Nogueira";
        nogueira.salario = 1200;
        sesconti.adiciona(nogueira);

        Funcionario laura = new Funcionario();
        grupoBLV.nome = "Grupo BLV";
        grupoBLV.cnpj = "1234567894596987";
        laura.nome = "Laura";
        laura.salario = 2000;
        sesconti.adiciona(laura);

         sesconti.mostraEmpresa();  
        sesconti.empregados [0].mostra();
        grupoBLV.mostraEmpresa();
        sesconti.empregados [1].mostra();

    }

}

Nos outros módulos do curso de Java você vai aprender algumas formas de melhorar seu código, mas o caminho é esse mesmo!

Que bom que pude ajudar, e bons estudos!