Dúvida em um código!

Olá! Sou novo aqui no GUJ e peço desculpa antecipadamente se em algum momento eu falar besteira nesse meu primeiro tópico. Também sou iniciante na linguagem Java. Minha dúvida é a seguinte:

Crie uma classe que representa um funcionário, registrando seu nome, salário e data
de admissão. Em seguida, crie uma classe que represente um departamento de uma empresa, registrando o nome e os funcionários que nele trabalham (para isso use um vetor, considere um máximo de 100 funcionários). Por fim, crie uma classe que representa uma empresa, registrando seu nome, CNPJ e departamentos (considere um máximo de 10 departamentos).
Faça um programa que:
a) Crie uma empresa;
b) Adicione a esta empresa alguns departamentos;
c) Adicione aos departamentos alguns funcionários;
d) Dê aumento de 10% a todos os funcionários de um determinado departamento;
É esperado que seu código seja bem encapsulado. Por exemplo, para adicionar um
departamento em uma empresa (ou um funcionário a um departamento), não se deve acessar o vetor de departamentos diretamente, mas sim ter um método na classe que
representa a empresa para adicionar um departamento.

Eu já criei as classes “Funcionário”, “Departamento” e “Empresa” com seus respectivos “gets” e “sets”.
Classe Funcionário:

package questao01;

/**
 *
 *@author Matias
 */
public class Funcionario
{
    private String nome, data;
    private double salario;

    public String getNome()
    {
        return nome;
    }

    public void setNome(String nome)
    {
        this.nome = nome;
    }

    public String getData()
    {
        return data;
    }

    public void setData(String data)
    {
        this.data = data;
    }

    public double getSalario()
    {
        return salario;
    }

    public void setSalario(double salario)
    {
        this.salario = salario;
    }
}

Classe Departamento:

package questao01;

/**
 *
 *@author Matias
 */
public class Departamento
{
    private String nome;
    private Funcionario[] funcionarios = new Funcionario[100];

    public String getNome()
    {
        return nome;
    }

    public void setNome(String nome)
    {
        this.nome = nome;
    }

    public Funcionario[] getFuncionarios()
    {
        return funcionarios;
    }

    public void setFuncionarios(Funcionario[] funcionarios)
    {
        this.funcionarios = funcionarios;
    }
}

Classe Empresa:

package questao01;

/**
 *
 *@author Matias
 */
public class Empresa
{
    private String nome, cnpj;
    private Departamento departamentos[] = new Departamento[10];

    public String getNome()
    {
        return nome;
    }

    public void setNome(String nome)
    {
        this.nome = nome;
    }

    public String getCnpj()
    {
        return cnpj;
    }

    public void setCnpj(String cnpj)
    {
        this.cnpj = cnpj;
    }

    public Departamento[] getDepartamentos()
    {
        return departamentos;
    }

    public void setDepartamentos(Departamento[] departamentos)
    {
        this.departamentos = departamentos;
    }
}

Minha dúvida principal é, como faço para adicionar um Departamento a uma Empresa e um Funcionário a um Departamento? Agradeço muito se alguém puder ajudar, ainda estou engatinhando em PEOO!

Troque este método:

public void setFuncionarios(Funcionario[] funcionarios) {
    this.funcionarios = funcionarios;
}

Por este:

public void addFuncionario(Funcionario funcionario) {
    // aqui você pega o funcionario recebido por parâmetro
    // e põe na primeira posição vazia do array de funcionários
}

E troque este método:

public void setDepartamentos(Departamento[] departamentos) {
    this.departamentos = departamentos;
}

Por este:

public void addDepartamento(Departamento departamento) {
    // aqui você pega o departamento recebido por parâmetro
    // e põe na primeira posição vazia do array de departamentos
}
1 curtida

Engraçado, eu nunca tinha ouvido falar em PEOO - Programação Estruturada e Orientadas em Objetos, só em POO.

1 curtida

O cara só deve ter se confundido na pronúncia, relaxa…

1 curtida

Pois é @rodriguesabner , pensei o mesmo, mas daí eu vi isso: IFRN - Programação Estruturada e Orientada a Objetos.

1 curtida

i caraio, que isso kkkkkkk

1 curtida

Muito obrigado @staroski, não pensei que a resposta viria assim tão rápido! :grinning:
Vou tentar fazer assim que chegar em casa, obrigado mais uma vez! :+1:t2:

Pois é @Iohannes, aqui no curso temos essa disciplina que no início faz uma revisão de Programação Estruturada e só depois começamos de fato no paradigma da Orientação à Objetos.

1 curtida

Vei ainda não estou conseguindo solucionar isso. Por favor me ajuda!!!

Mathias17, você conseguiu fazer? Aqui não esta dando certo. Se puder me ajudar ficaria grato.

Posta o seu código e não esquece de formatar com o botão </>.