/* Utilisation du return en cours de fonction    */
/* et de plusieurs return dans une même fonction */

public class ExempleReturnEnCoursDeFonctionEnConsole {

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

  /* Test si une annee est bissextile            */
  /* Un seul return, en fin de fonction          */

  static boolean estBissextile(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;
  }

  /* Test si une annee est bissextile            */
  /* Autant de return que de possibilités        */
  /* dans le test bissextilité                   */
  /* Conservation d'un return en fin de fonction */

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

  /* Test si une annee est bissextile            */
  /* Autant de return que de possibilités        */
  /* dans le test bissextilité                   */
  /* Tous les return sont dans les if imbriqués  */
  /* -> Plus de return en fin de fonction        */

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

  /* Programme principal                         */

  public static void main(String [] args) {
    Console.setTitle("ExempleReturnEnCoursDeFonction");
    int annee;
    annee = 2000;
    Console.formater("%5d : %5b %5b %5b\n",annee,
                   estBissextile(annee),
                   estBissextile1(annee),
                   estBissextile2(annee));
    annee = 1900;
    Console.formater("%5d : %5b %5b %5b\n",annee,
                   estBissextile(annee),
                   estBissextile1(annee),
                   estBissextile2(annee));
    annee = 1904;
    Console.formater("%5d : %5b %5b %5b\n",annee,
                   estBissextile(annee),
                   estBissextile1(annee),
                   estBissextile2(annee));
    annee = 2017;
    Console.formater("%5d : %5b %5b %5b\n",annee,
                   estBissextile(annee),
                   estBissextile1(annee),
                   estBissextile2(annee));
  }

///////////////////////////////////////////////////
}