Boa tarde pessoal,
Fiz, aparentemente, tudo correto conforme o exercício pediu, mas a classe TestaEmpresa simplesmente não roda...
public class Funcionario {
String nome;
String departamento;
double salario;
Integer ano;
Integer mes;
Integer dia;
String RG;
double valor;
double calculaGanhoAnual(){
return this.salario * 12;
}
public class Empresa{
String nome;
String cnpj;
int livre = 0;
Funcionario[] empregados;
void adiciona(Funcionario f){
this.empregados[this.livre] = f;
this.livre++;
}
}
void recebeAumento(double valor){
this.salario += valor;
}
void mostra(){
System.out.println("Nome: " + this.nome);
System.out.println("Departamento: " + this.departamento);
System.out.println("Salário: " + this.salario);
System.out.println("Data de Entrada: " + this.dia + "/" + this.mes + "/" + this.ano);
System.out.println("RG: " + this.RG);
}
}
//Nova Classe Empresa
public class TestaEmpresa {
public static void main (String[] args) {
Empresa empresa = new Empresa();
empresa.empregados = new Funcionario[10];
Funcionario f1 = new Funcionario();
f1.salario = 1000;
empresa.adiciona(f1);
Funcionario f2 = new Funcionario();
f1.salario = 1700;
empresa.adiciona(f2);
empresa.empregados[0].mostra();
empresa.empregados[1].mostra();
}
Ainda sim eu recebo esse erro:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: No enclosing instance of type Funcionario is accessible. Must qualify the allocation with an enclosing instance of type Funcionario (e.g. x.new A() where x is an instance of Funcionario).
at aulapoo.TestaEmpresa.main(TestaEmpresa.java:8)
Alguma sugestão?