Algorithmique et langage Java

Passage de paramètres à une méthode

Les paramètres sont des données que le programme appelant communique à la méthode, et qui permettent de moduler son action.

On déclare dans la parenthèse le type des paramètres et le nom par lequel ils seront désignés dans le corps de la méthode.

class MethodeAvecParametre{

  static void traceLigne(int longueur){
    for (int i=0;i<longueur;i=i+1){
      System.out.print("_");	 
      }
  System.out.println();		
  }
   
  public static void main(String[] args){
    traceLigne(25);
    System.out.println("Bonjour");
    traceLigne(15);
  }
}
Dans cet exemple, la méthode prend un paramètre entier, qui correspondra à la longueur de la ligne (nombre de caractères utilisés pour écrire une ligne). Dans le corps de la méthode, ce paramètre est utilisé comme valeur finale dans une boucle qui écrit le caractère '_' un nombre de fois égal à la valeur du paramètre "longueur", sans aller à la ligne.

Une méthode peut prendre plusieurs paramètres, dont les déclarations doivent être séparées par des virgules.

Exemple :

class MethodeAvec2Parametres{

  static void traceLigne(int longueur,char signe){
    for (int i=0;i<longueur;i=i+1){
      System.out.print(signe);	 
      } 
    System.out.println();		
  }
   
  public static void main(String[] args){
    traceLigne(25,'*');
    System.out.println("Bonjour");
    traceLigne(15,'@');
  }
}
Dans cet exemple le caractère qui servira à tracer la ligne est le caractère précisé comme paramètre (de type char) de la méthode (au lieu de "_"). Comme précédemment la longueur de la ligne est aussi passée en paramètre.
Ajouter dans la méthode "main" du programme "MethodeAvec2Parametres" un appel de la methode "traceLigne" permettant d'afficher 10 fois le caractère "#".
Ajouter dans MethodeAvec2Parametres une méthode appelée cube, qui calcule et affiche le cube d'un nombre de type double passé en paramètre. Appeler cette méthode depuis la méthode Main .



Il est possible de faire coexister différentes versions d'une même méthode, prenant des ensembles de paramètres différents, dans une même classe :

class MethodePolymorphe{

static void traceLigne() { 
  for (int i=0;i<10;i=i+1){  
      System.out.print("_");   
  }                             
  System.out.println();	        
} 

static void traceLigne(int longueur){
    for (int i=0;i<longueur;i=i+1){
      System.out.print("_");	 
      }
  System.out.println();		
  }
  static void traceLigne(int longueur,char signe){
    for (int i=0;i<longueur;i=i+1){
      System.out.print(signe);	 
      } 
    System.out.println();		
  }
   
  public static void main(String[] args){
    traceLigne();  // pas de paramètres: c'est la version sans paramètres qui est exécutée 
    traceLigne(15);  // un paramètre entier: c'est la version avec paramètre entier qui est exécutée 
    traceLigne(25,'~'); // un paramètre entier et un paramètre char: c'est la version correspondante qui est exécutée 
  }
}



 
Licence Creative Commons
licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 non transposé
Auteur : Nathalie Bonnin
Professeur de Physique, Chimie, Informatique au lycée La Martinière Monplaisir (Lyon 8ème)
Contact :
nathalie.bonnin (chez) scientillula.net
Licence Creative Commons
La totalité du contenu du site Scientillula.net appartient à Nathalie Bonnin et est mise à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 non transposé