O código a seguir exibe mensagens de erro ao compilar as duas últimas classes.
class Funcionario {
String nome;
String rg;
String departamento;
Data dataEntrada;
double salario;
void recebeAumento(double valor) {
this.salario += valor;
}
double calculaGanhoAnual(){
return this.salario * 12;
}
void mostra() {
System.out.println("Nome: " + this.nome);
System.out.println("RG: " + this.rg);
System.out.println("Departamento: " + this.departamento);
System.out.println("Data de Entrada: " + this.dataEntrada.getFormatada());
System.out.println("Salario: " + this.salario);
System.out.println("Ganho anual: " + this.calculaGanhoAnual());
}
}
class DadosFuncionario {
public static void main(String[] args) {
Funcionario a1 = new Funcionario();
a1.nome = "Nelson";
a1.rg = "12345678-9";
a1.departamento = "Consultoria";
a1.salario = 1700.0;
a1.recebeAumento(300.0);
a1.dataEntrada = new Data();
a1.dataEntrada.preencheData(18, 8, 2015);
Funcionario a2 = new Funcionario();
a2.nome = "Debora";
a2.rg = "98765432-1";
a2.departamento = "Recursos Humanos";
a2.salario = 1300.0;
a2.recebeAumento(150.0);
a2.dataEntrada = new Data();
a2.dataEntrada.preencheData(19, 9, 2015);
a1.mostra();
a2.mostra();
}
}
class Data {
int dia;
int mes;
int ano;
void preencheData (int dia, int mes, int ano) {
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
String getFormatada() {
return this.dia + "/" + this.mes + "/" + this.ano;
}
}
class Empresa {
String nome;
String cnpj;
Funcionario[] funcionarios;
int livre = 0;
void adiciona(Funcionario a) {
this.empregados[this.livre] = a;
this.livre++;
}
}
class TestaEmpresa {
public static void main (String[] args) {
Empresa empresa = new Empresa();
empresa.empregados = new Funcionario[10];
Funcionario a1 = new Funcionario();
a1.salario = 1700;
a1.dataEntrada = new Data();
empresa.adiciona(a1);
Funcionario a2 = new Funcionario();
a2.salario = 1300;
a2.dataEntrada = new Data();
empresa.adiciona(a2);
empresa.empregados[0].mostra();
empresa.empregados[1].mostra();
}
}
Erro
exercicio_obj_4.java:4: error: cannot find symbol
Funcionario[] funcionarios;
^
symbol: class Funcionario
location: class Empresa
exercicio_obj_4.java:7: error: cannot find symbol
void adiciona(Funcionario a) {
^
symbol: class Funcionario
location: class Empresa
exercicio_obj_4.java:8: error: cannot find symbol
this.empregados[this.livre] = a;
^
symbol: variable empregados
exercicio_obj_5.java:4: error: cannot find symbol
Empresa empresa = new Empresa();
^
symbol: class Empresa
location: class TestaEmpresa
exercicio_obj_5.java:4: error: cannot find symbol
Empresa empresa = new Empresa();
^
symbol: class Empresa
location: class TestaEmpresa