import java.util.GregorianCalendar;
public class Data{
private int dia;
private int mes;
private int ano;
// constrói o objeto Data com os valores recebidos via parâmetros
public Data(int d, int m, int a){
setAno(a);
setMes(m);
setDia(d);
}
// constrói o objeto Data com a data recebida no formato inteiro AAAAMMDD
public Data (int data){
setAno(data / 10000);
setDia (data % 100);
setMes( data % 10000 / 100);
}
// constrói o objeto Data com a data atual
public Data(){
GregorianCalendar c = new GregorianCalendar();
dia = c.get(GregorianCalendar.DAY_OF_MONTH);
mes = c.get(GregorianCalendar.MONTH)+1;
ano = c.get(GregorianCalendar.YEAR);
}
public String getDataPadrao(){
return dia + "/" + mes + "/" + ano;
}
public int getDataInvertida(){
return ano * 10000 + mes * 100 + dia;
}
public boolean ehBissexto(){
if (ano % 4 == 0){
return true;
}else{
return false;
}
}
public void setDia(int d){
dia = d;
}
public void setMes(int m){
mes = m;
}
public void setAno(int a){
ano = a;
}
public int getDia(){
return dia;
}
public int getMes(){
return mes;
}
public int getAno(){
return ano;
}
}
public class Departamento{
private int codDepto;
private String nomeDepto;
private int qtdFunc;
public Departamento(int codigoDepto, String nomeDoDepto){
codDepto = codigoDepto;
nomeDepto = nomeDoDepto;
}
public void setCodDepto(int codigoNovo){
if (codigoNovo > 0 && codigoNovo < 6){
codDepto = codigoNovo;
}else{
codDepto = 1;
}
}
public void setNomeDepto(String novoNome){
nomeDepto = novoNome;
}
public int getCodDepto(){
return codDepto;
}
public String getNomeDepto(){
return nomeDepto;
}
public int getQtdFunc(){
return qtdFunc;
}
public void saiFuncionarioDoDepto(){
qtdFunc--;
}
public void entraFuncionarioNoDepto(){
qtdFunc++;
}
public String dadosDoDepartamento(){
return ("Nome do departamento: " + nomeDepto + "; Código do departamento: " + codDepto + "; Quantidade de funcionarios: " + qtdFunc);
}
}
public class Funcionario{
private String nome;
private double salario;
private Data dataDeNasc;
private Data dataDeAdmissao;
private Departamento departamento;
public Funcionario(String n, double sal, Departamento depto, Data dataNasc, Data dataAdmissao){
nome = n;
salario = sal;
dataDeNasc = dataNasc;
dataDeAdmissao = dataAdmissao;
departamento = depto;
}
public Funcionario(String n, double sal, Departamento depto, Data dataNasc, int diaAdmissao, int mesAdmissao, int anoAdmissao){
nome = n;
salario = sal;
dataDeNasc = dataNasc;
dataDeAdmissao = new Data(diaAdmissao, mesAdmissao, anoAdmissao);
departamento = depto;
}
public Funcionario(String n, double sal, Data dataNasc, Data dataAdmissao){
nome = n;
salario = sal;
dataDeNasc = dataNasc;
dataDeAdmissao = dataAdmissao;
}
public void setSalario(double novoSalario){
salario = novoSalario;
}
public void aloca(Departamento novoDepto){
departamento = novoDepto;
}
public int claculaIdade(){
return new Data().getDataInvertida() - dataDeNasc.getDataInvertida();
}
}
bom pessoal, é o seguinte. eu tenho que fazer este trabalho para a facul, mas to em duvida na instanciação do objeto funcionario. gostaria de saber se meus construtores da classe estão certos.
Estou usando o BlueJ, mas na hora em que eu crio o funcionario, ele não aceita a data nesse formato 25/09/1993. por isso eu acho que meu problema possa ser no construtor do Funcionario.
bom. eu gostaria que avaliassem meu código e dissessem o que eu devo mudar
JA RESOLVI. OBRIGADO