Não consigo fazer a "data de entrada" aparecer.. oq q eu devo fazer.
class Funcionario{
private String nome;
private String departamento;
private double salario;
private Data dataEntrada;
private String rg;
private int identificador;
private static int incrementador = 1;
public Funcionario(){
this.identificador = incrementador++;
}
public int getIdentificador(){
return this.identificador;
}
public Funcionario(String nome, String departamento, double salario){
this.nome = nome;
}
public void setAumento(double aumento){
this.salario += aumento;
}
public double getGanhoAnual(){
return this.salario*12;
}
public String getNome(){
return this.nome;
}
public void setNome(String nome){
this.nome = nome;
}
public String getDepartamento(){
return this.departamento;
}
public void setDepartamento(String departamento){
this.departamento = departamento;
}
public double getSalario(){
return this.salario;
}
public void setSalario(double salario){
this.salario = salario;
}
public void setDataEntrada(Data dataEntrada){
this.dataEntrada = dataEntrada;
}
public Data getDataEntrada(){
return this.dataEntrada;
}
public String getRg(){
return this.rg;
}
public void setRg(String rg){
this.rg = rg;
}
public void mostra(){
System.out.println("Nome: " + this.nome);
System.out.println("Departamento: " + this.departamento);
System.out.println("Salario: " + this.salario);
System.out.println("Data de Entrada: " + this.dataEntrada.getFormatada());
System.out.println("RG: " + this.rg);
System.out.println("Numero de identifacao: " + this.identificador);
System.out.println("");
}
}
class Empresa{
private String nomeEmpresa;
private double cnpj;
private Funcionario empregados[];
private int livre = 0;
public Empresa (int tamanho){
this.empregados = new Funcionario[tamanho];
}
public Empresa (){
}
public String getNomeEmpresa(){
return this.nomeEmpresa;
}
public void setNomeEmpresa(String nome){
this.nomeEmpresa = nome;
}
public double getCnpj(){
return this.cnpj;
}
public void setCnpj(double cnpj){
this.cnpj = cnpj;
}
public Funcionario getEmpregados(int posicao){
return this.empregados[posicao];
}
public void setEmpregados(Funcionario empregados[]){
this.empregados = empregados;
}
void adiciona(Funcionario f){
this.empregados[this.livre] = f;
this.livre++;
}
void mostraEmpregados(){
for (int i = 0;i<this.empregados.length;i++){
Funcionario empregados = this.empregados[i];
if(empregados == null){
continue;
}
System.out.println("Funcionario na posicao: " + i);
System.out.println("Nome do funcionario: " + empregados.getNome());
System.out.println("R$ " + empregados.getSalario());
System.out.println("");
}
}
void mostraTodasAsInformacoes(){
for (int i=0;i<this.livre;i++){
if(empregados[i] == null){
continue;
}
this.empregados[i].mostra();
}
}
boolean contem(Funcionario f){
for (int i=0;i<this.livre;i++){
if (this.empregados[i] == f){
return true;
}
}
return false;
}
}
class Data{
int dia;
int mes;
int ano;
public void preencheData(int dia, int mes, int ano) {
this.dia = dia;
this.mes = mes;
this.ano = ano;
if (! isDataViavel(dia, mes, ano)) {
System.out.println("A data " + getFormatada() + " não existe!");
}
}
private boolean isDataViavel(int dia, int mes, int ano) {
if (dia <= 0 || mes <= 0 || mes > 12 || ano <= 0) {
return false;
}
int ultimoDiaDoMes = 31; // por padrao são 31 dias
if (mes == 4 || mes == 6 || mes == 9 || mes == 11 ) {
ultimoDiaDoMes = 30;
} else if (mes == 2) {
ultimoDiaDoMes = 28;
if((ano % 400 == 0) || ((ano % 4 == 0) && (ano % 100 != 0))){
ultimoDiaDoMes = 29;
}
}
if (dia > ultimoDiaDoMes) {
return false;
}
return true;
}
public String getFormatada(){
return this.dia + "/" + this.mes + "/" + this.ano;
}
}
class TestaEmpresa{
public static void main (String[] args){
Empresa empresa = new Empresa();
Funcionario empregados[] = new Funcionario[10];
empresa.setEmpregados(empregados);
Funcionario f1 = new Funcionario();
f1.setNome("teste");
f1.setSalario(1000);
Data data = new Data();
data.preencheData(1,1,2016);
empresa.adiciona(f1);
Funcionario f2 = new Funcionario();
f2.setNome("teste2");
f2.setSalario(2000);
Data date = new Data();
date.preencheData(1,1,2016);
empresa.adiciona(f2);
//empresa.getEmpregados(0).mostra();
//empresa.getEmpregados(1).mostra();
empresa.mostraEmpregados();
System.out.println (empresa.contem(f1));
}
}