public class NombreJoursMoisEnConsole {

/* Test si une annee est bissextile        */

  static boolean testBissextile(int annee) {
    boolean res;
    if ( annee%400 == 0 ) {
      res = true; }
      else {
      if ( annee%100 == 0 ) {
        res = false; }
        else {
        if ( annee%4 == 0 ) {
          res = true; }
          else {
          res = false; } } }
    return res;
  }

/////////////////////////////////////////////

/* Calcul du nombre de jours d'un mois     */

  static int nombreJoursMois(int mois,int annee) {
    int res;
    switch (mois) {
      case 1 :
      case 3 :
      case 5 :
      case 7 :
      case 8 :
      case 10 :
      case 12 : {
        res = 31; }
        break;
      case 4 :
      case 6 :
      case 9 :
      case 11 : {
        res = 30; }
        break;
      case 2 : {
        if ( testBissextile(annee) == true ) {
          res = 29; }
          else {
          res = 28; } }
        break;
      default : {
        res = -1; }
        break; }
    return res;
  }

/////////////////////////////////////////////

/* Programme principal                     */

  public static void main(String [] args) {
    Console.setTitle("NombreJoursMois");
    int a;
    int m;
    int resultat;
    Console.afficher("SVP, l'annee         : ");
    a = Console.saisirInt();
    Console.afficher("SVP, le mois         : ");
    m = Console.saisirInt();
    resultat = nombreJoursMois(m,a);
    Console.afficherln("Nombre de jours      : ",resultat);
  }
}