A aula número 6 do curso de Java I: Primeiros Passos é sobre construtores. Entendi o conceito e a sua utilização, porém não sei como fazer um construtor passar o tamanho de um array.
Minha dúvida: Como implementar o que o exercício pede no meu código?
O que pede o exercício: "Na classe Empresa, em vez de criar um array de tamanho fixo, receba como parâmetro no construtor o tamanho do array de Funcionario."
Como está o meu código:
class Empresa{
private String nome;
private String cnpj;
Funcionario[] empregados;
private int livre = 0;
// Nome
public void setNome(String nome){
this.nome = nome;
}
public String getNome(){
return this.nome;
}
// CNPJ
public void setCNPJ(String cnpj){
this.cnpj = cnpj;
}
public String getCNPJ(){
return this.cnpj;
}
//Funcionario
public Funcionario getFuncionario(int posicao){
return this.empregados[posicao];
}
public void adiciona(Funcionario f){
this.empregados[this.livre] = f;
this.livre++;
}
public boolean contem(Funcionario f) {
for (int i = 0; i < this.livre; i++) {
if (f == this.empregados[i]) {
return true;
}
}
return false;
}
}
class TestaEmpresa {
public static void main (String[] args) {
Empresa empresa = new Empresa();
empresa.empregados = new Funcionario[10];
/*
Funcionario f1 = new Funcionario();
f1.salario = 1000;
f1.dt_inicio = "10/10/2018";//new Data();
empresa.adiciona(f1);
Funcionario f2 = new Funcionario();
f2.salario = 1700;
f2.dt_inicio = "10/10/2017";//new Data();
empresa.adiciona(f2);
empresa.empregados[0].mostra();
empresa.empregados[1].mostra();
*/
for (int i = 0; i < 5; i++){
Funcionario f = new Funcionario();
f.setSalario(10000 + i * 100);
f.setDataInicial("01/01/2500");
empresa.adiciona(f);
empresa.empregados[i].mostra();
}
}
}