Valida dia e mês

4 respostas
P

Olá pessoal,

será que alguém teria algum metodo em java pra validar o dia e mês como ano bissexto , dia <= 31 …etc …somente em java

Não quero em javascript …

Se alguém puder me ajudar …agradeceria

abs

4 Respostas

peczenyj

Como saber se o ano é bissexto

Para o calendário gregoriano, ano bissexto é aquele que é múltiplo de 4, exceto os múltiplos de 100 que não sejam múltiplos de 400.

* São bissextos:

    * Múltiplos de 4 e não múltiplos de 100: 1996, 2004, 2008 e 2012
    * Múltiplos de 400: 1600, 2000, 2400

* Não são bissextos:

    * Múltiplos de 100 e não de 400: 1700, 1800, 1900 e 2100

Se bobear o google te dá até o código pronto!

P

Desenvolvi esse código pq achei legal o desafio...
testei e funcionou, se precisar aí, pode usar....

public class validaAno {
    int f4 = 0;
    int f100 = 0;
    int f400 = 0;
    public validaAno(int ano) {
        
        if(ano%4==0){
            f4 = 1;
        }
        
        if(ano%100==0){
            f100 = 1;
        }
        
        if(ano%400==0){
            f400 = 1;
        }
        
        if(( f4==1 && f100==0)||( f4==1 && f400==1))
        {
           System.out.println("É BISSESTO"); 
        }else{
           System.out.println("Não è bissesto"); 
        }          
    }   
}

Pra ele funcionar vc precisa de alguma forma passar o ano pra essa classe como parametro....
a classe verifica se é multiplo de 4 de 100 e de 400 se for de 4 e nao for de 100 jah declara como bissesto, se for de 400 tbm.....caso contrário declara como nao bissexto...
falow espero que ajudde alguem aí :lol:

peczenyj
Mais sucinto ;-)
public class validaAno {

	static void validarAno(int ano) {
        
        if (ano%4 == 0 && !(ano%100 == 0 && ano%400 != 0))  
           System.out.println(ano +" eh bissexto"); 
        else            
           System.out.println(ano +" Nao eh bissexto");                   
    }   
	
	public static void main(String[] args) {
		/* sao bissextos */
		validarAno(1996);
		validarAno(2004);
		validarAno(2008);
		validarAno(2012);
		validarAno(1600);
		validarAno(2000);
		validarAno(2400);

		/* NAO sao bissextos */
		validarAno(1700);
		validarAno(1800);
		validarAno(1900);
		validarAno(2100);
	}

}
P

obrigado pelo retorno

mas não teria algo já pronto onde eu passasse o mes e ano

e o metodo já visesse essas validações e retornasse true ou false …

Quem puder me ajudar agradeceria …

abs

Criado 24 de maio de 2006
Ultima resposta 27 de mai. de 2006
Respostas 4
Participantes 3