Alguém poderia por gentileza verificar o que há de errado com o meu código ?
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 getDataFormatada(){
return dia + "/" + mes + "/" + ano;
}
}
class Funcionario{
String nome;
String departamento;
String rg;
Data dataDeEntrada;
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("Salario atual: " + this.salario);
System.out.println("Ganho anual: " + this.calculaGanhoAnual());
System.out.println("Data de entrada: "+ this.dataDeEntrada.getDataFormatada());
}
}
class TestaFuncionario {
public static void main(String[] args){
Funcionario f1 = new Funcionario();
f1.nome = "Leandro Souza";
f1.rg = "0000000";
f1.departamento = "Adm";
f1.salario = 1000;
f1.recebeAumento(50);
f1.dataDeEntrada = new Data();
f1.dataDeEntrada.preencheData(7, 7, 2016);
f1.mostra();
Funcionario f2 = new Funcionario();
f2.nome = "Souza";
f2.rg = "0000000";
f2.departamento = "Adm";
f2.salario = 1000;
f2.recebeAumento(50);
f2.dataDeEntrada = new Data();
f2.dataDeEntrada.preencheData(7, 7, 2016);
f2.mostra();
}
}
class Empresa {
String nomeEmpresa;
String cnpj;
Funcionario[] empregados = new Funcionario[1];
int livre = 0;
void adiciona(Funcionario f) {
this.empregados[this.livre] = f;
this.livre++;
}
void mostraTodasAsInformacoes(){
for (int i = 0; i < this.livre; i++){
System.out.println("Funcionario na posição: " + i);
this.empregados[i].mostra();
}
}
boolean contem(Funcionario f1) {
for (int i = 0; i < this.livre; i++) {
if (f1 == this.empregados[i]) {
return true;
}
}
return false;
}
}
class TesteEmpresa {
public static void main(String[] args){
Empresa empresa = new Empresa();
empresa.empregados = new Funcionario[1];
Funcionario f1 = new Funcionario();
f1.salario = 1000;
f1.dataDeEntrada = new Data();
empresa.adiciona(f1);
empresa.contem(f1);
Funcionario f2 = new Funcionario();
f2.salario = 1700;
f2.dataDeEntrada = new Data();
empresa.adiciona(f2);
empresa.contem(f2);
empresa.mostraTodasAsInformacoes();
Funcionario f1 = new Funcionario();
System.out.println(empresa.contem(f1));
}
}