Alguem poderia me ajudar, quando testo minha classe Data digitando uma data invalida do tipo 31/02/2015 ela nao exibe a menssagem de data invalida!
public class Data {
int dia; int mes; int ano;
public void entradaFuncionario(int dia, int mes, int ano){ //Criando o metodo da data de entrada de um funcionario this.dia = dia; this.mes = mes; this.ano = ano; if (! validaData(dia, mes, ano)) { System.out.println("A data e " + getFormataData() + " invalida!"); } }
public boolean validaData(int dia, int mes, int ano){ int ultimoDia = 31; if(mes == 4 || mes == 6 || mes == 9 || mes == 11){ ultimoDia = 30;} else if (mes == 2){ if(ano % 4 == 0){ ultimoDia = 29; } else { ultimoDia = 28; } } if (dia > ultimoDia){ return false; } return true; }
public String getFormataData(){ return this.dia + "/" + this.mes + "/" + this.ano;
}
}
public class Funcionario {
private String nome; private String rg; private String departamento; private double salario; protected Data dataEntrada; // Chamando a classe data e atribuindo uma variavel a ela
public void setNome(String nome){ this.nome = nome; }
public String getNome(){ return this.nome; }
public void setRg(String rg){ this.rg = rg; }
public String getRg(){ return this.rg; }
public void setDepartamento(String departamento){ this.departamento = departamento; }
public String getDepartemento(){ return this.departamento; }
void setSalario (double valor){ this.salario += valor; }
public double getSalario (){ return this.salario; }
void recebeAumento(double valorDoAumento){ this.salario += valorDoAumento; }
public double getCalculaGanhoAnual(){ return this.salario * 12; }
public void mostra(){ System.out.println("Seu nome é : " + this.getNome()); if (this.rg == null){ System.out.println("Esse funcionario ainda não cadastrou sua indentidade!\n FAVOR CADASTRAR SEU RG"); }else{ System.out.println("Sua indentidade é : " + this.getRg()); } //System.out.println("Sua indentidade é : " + this.getRg()); if (this.departamento == null){ System.out.println("Esse funcionario nao possui departamento ainda!"); }else{ System.out.println("Seu departamento é : " + this.getDepartemento()); } //System.out.println("Seu departamento é : " + this.getDepartemento()); System.out.println("Voce ganha por mes : " + this.getSalario()); System.out.println("Voce ganhou durante o ano : " + this.getCalculaGanhoAnual()); System.out.println("Sua data de entrada na empresa foi em : " + this.dataEntrada.getFormataData()); //System.out.print("dia" + this.dataEntrada.dia); //System.out.print("\nmes" + this.dataEntrada.mes); //System.out.print("\nano" + this.dataEntrada.ano); }
}
public class TestaFuncionario {
public static void main(String[] args) {
Funcionario f1 = new Funcionario(); f1.setNome("Waldir escouto pereira"); f1.setRg("118977120"); f1.setSalario(2500.0); f1.setDepartamento("Desenvolvedor");
f1.dataEntrada = new Data(); // Criando uma data de entrada para o funcionario
f1.dataEntrada.entradaFuncionario(31, 02, 2015);
f1.mostra();