Les "fonctions" :

méthodes static en JAVA

découper un probléme en sous-problémes

la fonction qui résoud un sous-probléme

Source de Prog25.java
class Prog25 
{
  public static void main(String args[])
    {
      int h, m, s, duree;
      System.out.println("Saisie d'un horaire");
      System.out.println("Donnez les heures");
      h = Clavier.lireInt();
      System.out.println ("Donnez les minutes");
      m = Clavier.lireInt(); 
      System.out.println("Donnez les secondes");
      s = Clavier.lireInt();
      duree = conversionHMS2S(h, m, s);
      System.out.println("Cet horaire dure " + duree 
                         + " secondes.");
    }

  /** Les données h, m, s représentent un horaire : 
      h heures, m minutes, s secondes.
      La fonction calcule la durée en secondes que 
      représente cet horaire.
      Préconditions : h >= 0, 0 <= m <= 59, 0 <= s <= 59.
   */
  static int conversionHMS2S( int h, int m, int s)
  {
    int duree;
    duree = 3600 * h + 60 * m + s;
    return duree;
  }
}

en JAVA, fonction = méthode static

regrouper les outils similaires

une "bibliothèque de fontions"

Source de ManipsHeure.java
/** classe de manipulation des heures
 */
class ManipsHeure
{
  /** Les données h, m, s représentent un horaire : 
      h heures, m minutes, s secondes.
      La fonction calcule la durée en secondes que 
      représente cet horaire.
      Préconditions : h >= 0, 0 <= m <= 59, 0 <= s <= 59.
   */
  static int conversionHMS2S( int h, int m, int s)
  {
    int duree;
    duree = 3600 * h + 60 * m + s;
    return duree;
  }
  /** retourne une chaine de caractère contenant l'horaire
      auquel correspond la durée donnée en paramètre
      Le format de la chaine résultat est h ... min ... s
      Préconditions : durée >= 0.
   */
  static String duree2ChaineHMS(int duree)
  {
    int heures, minutes, secondes;
    heures = duree/3600;
    minutes = duree/60 - 60 * heures;
    secondes = duree%60 ;
    return heures+"h"+minutes+"m"+secondes+"s";
  }
}

la classe "bibliothèque"

Programme principal

Source de Prog26.java
class Prog26 
{
  public static void main(String args[])
  {
    int h, m, s, duree;
    String hor;
    System.out.println("Saisie d'un horaire");
    System.out.println("Donnez les heures");
    h = Clavier.lireInt();
    System.out.println("Donnez les minutes");
    m = Clavier.lireInt();
    System.out.println(" Donnez les secondes");
    s = Clavier.lireInt();
    duree = ManipsHeure.conversionHMS2S(h,m,s);
    System.out.println(" Cet horaire dure" + duree + " secondes.");
    hor = ManipsHeure.duree2ChaineHMS(duree);
    System.out.println(" L'horaire de départ est" + hor);
  }
}

paramètres et résultats : mécanisme

exercices