Tester si l'annee est bissextile

douda86 -  
 Utilisateur anonyme -
Bonjour,
le probleme c'est que j'arrive pas a tester si l'annee de ma date d'entree est bissextile ou nn afin d'avoir accepter une date comme par exemple 29/02/2009 malgere que j'ai declaree une methode estBissextile()
merci pour votre aide
A voir également:

4 réponses

Utilisateur anonyme
 
Salut,

 // Tout d'abord pour info:
       // -savoir si une annee est bissextile
         String laDate = "17/11/2012";  	
         int lAnnee;
         
         lAnnee = Integer.parseInt(laDate.substring(6));
      
      	
         GregorianCalendar gcal = new GregorianCalendar(); //import java.util.GregorianCalendar;
         boolean b = gcal.isLeapYear(lAnnee);  // annee bissextile = true
         if (b)
            System.out.println("\nL'annee " + lAnnee + " est bissextile.");
         else
            System.out.println("\nL'annee " + lAnnee + " n'est pas bissextile.");
            
      	//	-Maintenant pour savoir si une date saisie est correcte:
      	
         String laDateSaisie = "29/02/2009"; // en supposant que la date est saisie correctement
      	
      	// il faut fournir a GregorianCalendar les 3 parametres int p1, int p2, int p3
      	// dans l'ordre p1 = aa, p2 = mm et p3 = jj
      	// par exemple
      		
         int p1 = Integer.parseInt(laDateSaisie.substring(6));
         int p2 = Integer.parseInt(laDateSaisie.substring(3, 5));
         int p3 = Integer.parseInt(laDateSaisie.substring(0, 2));
         
         System.out.println("\np1/p2/p3 " + p1 + "/" + p2 + "/" + p3);
      	
         GregorianCalendar gc = new GregorianCalendar(p1, p2 -1, p3); // -1 car mois est une valeur 0 a 11
         gc.setLenient(false);   // sans cette ligne, pas d'exception possible
          
         try
         {                       // (true par defaut)
            int annee = gc.get(GregorianCalendar.YEAR);
            int num_mois = gc.get(GregorianCalendar.MONTH);
            int jour = gc.get(GregorianCalendar.DAY_OF_MONTH);
            
            System.out.println("jour/num_mois/annee " + jour + "/" + (num_mois +1) + "/" + annee);
         
         }       
             catch (IllegalArgumentException iea)
            {
               System.out.println("\nLa date saisie est incorrecte");
               //.... 
            	//....
            }


Cordialement,

Dan
2
yofa Messages postés 1245 Statut Membre 207
 
Tu programmes en quoi?!
0
douda86
 
merci je programme en java
0
yofa Messages postés 1245 Statut Membre 207
 
Arg!

Je ne suis pas comptétent en java malheureusement!

Essayez

https://java.developpez.com/

c'est trés complet!
Utilisez le forum pour poser vos questions ^^
0
faaarah
 
bonjour,comment tester l'année bissextile
0
Utilisateur anonyme
 
Salut,

       
   import java.util.GregorianCalendar;
.......
.....


  // Méthode:    
       public static void anneBisextile(int annee)
      {  
         GregorianCalendar gcal = new GregorianCalendar();
         boolean b = gcal.isLeapYear(annee);  // si annee bissextile, b = true
      
         if (b)
         {
         // ANNEE BISSEXTILE ?
            System.out.println("\nOUI " + annee + " est bissextile.");
         }
         else
         {
         // ANNEE NON BISSEXTILE ?
            System.out.println("\nNON " + annee + " n'est pas bissextile.");
         }
      }

// exemples d'appels de la méthode:

         int annee = 2010;  // l'année doit être de type int
         anneBisextile(annee);
         
         annee = 2012;
         anneBisextile(annee);
   


Cordialement,

Dan
0