Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33093

Código java Valida Data

$
0
0

@Hisaelguedes escreveu:

Oque faz a linha "int[] diasPorMes = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};" ela é necessária? não estou conseguindo entender a função dela.

public class Data {

private int dia; // 1-31 conforme o mês
private int mes; // 1-12
private int ano; // qualquer ano
// construtor: chama checkMes para confirmar o valor adequado para mes;
// chama checkDia para confirmar o valor adequado para dia

public Data(int day, int month, int year) {
    dia = checkDia(day); // valida dia
    mes = checkMes(month); // valida month
    ano = year; // poderia validar ano
}
// método utilitário para confirmar o valor adequado de dia com base em mes e ano

private int checkDia(int testaDia) {
    int[] diasPorMes = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    // veririca se dia está no intervalo para mes
    if (testaDia > 0 && testaDia <= diasPorMes[mes]) {
        return testaDia;
    } // verifica ano bissexto
    else if (mes == 2 && testaDia == 29 && (ano % 400 == 0 || (ano % 4 == 0 && ano % 100 != 0))) {
        return testaDia;
    }
    //System.out.printf( "Dia inválido (%d) configura para 1.", testaDia );
    return testaDia; // mantém o objeto em estado consistente
}
// método utilitário para confirmar o valor adequado do mes

public int checkMes(int testaMes) {
    if (testaMes > 0 && testaMes <= 12) // valida mes
    {
        return testaMes;
    } else {
        System.out.printf(
                "Mês inválido (%d) configure para 1.", testaMes);
        return 1; // mantém o objeto em estado consistente
    }
}

Mensagens: 6

Participantes: 4

Ler tópico completo


Viewing all articles
Browse latest Browse all 33093


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>