Olá, Estou tendo um problema para compilar o meu código. Ao colocar private no Array em empresas, ele não permite a criação das posições dentro de uma em "TesteEmpresa" pois acusa a que o mesmo está como private. Não entendi exatamente o que preciso fazer.
class empresa {
private String Nome;
private long cnpj;
private Funcionario[] empregados;
private int livre = 0;
public Funcionario getFuncionario(int posicao){
return this.empregados[posicao];
}
public void setNome(String Nome){
this.Nome = Nome;
}
public String getNome(){
return this.Nome;
}
public void setcnpj(long cnpj){
this.cnpj = cnpj;
}
public long getcnpj(){
return this.cnpj;
}
void adicionar(Funcionario f) {
this.empregados[this.livre] = f;
this.livre++;
}
void mostraEmpregados() {
for(int i = 0; i < this.empregados.length; i++) {
if(this.empregados[i] !=null) {
System.out.println("Funcionario na posicao " + this.empregados[i].nomeFuncionario);
System.out.println("Salario do Funcionario " + this.empregados[i].nomeFuncionario + " e de " + this.empregados[i].salario);
}
}
}
void mostraTodasAsInformacoes () {
System.out.println("Empresa " + this.Nome);
System.out.println("CNPJ" + this.cnpj);
for(int i = 0; i < this.empregados.length; i++) {
if(this.empregados[i] !=null) {
System.out.println("Funcionario " + this.empregados[i].nomeFuncionario + " Na posicao " + this.empregados[i]);
System.out.println("Salario do Funcionario " + this.empregados[i].nomeFuncionario + " e de " + this.empregados[i].salario);
}
}
}
}
class Funcionario {
int salario;
String nomeFuncionario;
}
class TesteEmpresa {
public static void main(String[] args) {
empresa abc = new empresa();
abc.empregados = new Funcionario[10];
abc.setNome("ABC Corp");
abc.setcnpj(1234567);
Funcionario f1 = new Funcionario();
f1.nomeFuncionario = "f1";
f1.salario = 1000;
abc.adicionar(f1);
Funcionario f2 = new Funcionario();
f2.nomeFuncionario = "f2";
f2.salario = 2000;
abc.adicionar(f2);
Funcionario f3 = new Funcionario();
f3.nomeFuncionario = "f3";
f3.salario = 960;
abc.adicionar(f3);
abc.mostraTodasAsInformacoes();
}
}