Boa noite,
Estou com dúvidas no funcionamento do array do ultimo método da classe Empresa. Nele, tive que utilizar uma variável de apoio "i" porque sem ela era impresso isso : "Funcionario@2ef9b8bc" , ao invés do salário. A pergunta é, por que sem essa variável "i", utilizando o código System.out.println(salario), não consigo imprimir os valores do salario ?
Desde já agradeço.
Segue o código completo:
class Funcionario {
String nome;
double salario;
}
class Empresa {
String cnpj;
String nome;
Funcionario[] funcionario;
void mostraEmpresa(){
System.out.println(this.cnpj+"\n"+this.nome);
}
void mostraFuncionarios(){
for(int i=0; i<funcionario.length;i++){
if (funcionario[i]==null)continue;
System.out.println(this.funcionario[i].nome+"\n"+this.funcionario[i].salario);
}
}
void adiciona(Funcionario f){
int a =funcionario.length;
for (int i=0;a>i;i++){
if (funcionario[i]==null){
funcionario[i]=f;
break;
}
}
if (funcionario[a-1]!=null && funcionario[a-1]!=f){
Funcionario[] b=new Funcionario[a+1];
for(int i=0;i<a;i++){
b[i]=funcionario[i];
}
b[a]=f;
this.funcionario=b;
System.out.println(funcionario.length);
}
}
void mostraSalario(){
int i =0;
for(Funcionario salario : funcionario){
if(salario!=null){
System.out.println(funcionario[i].salario);
i++;
}
}
}
}