Question de débutante sur paramètres de fonction [Résolu/Fermé]

Signaler
Messages postés
9
Date d'inscription
mercredi 6 janvier 2016
Statut
Membre
Dernière intervention
4 mars 2017
-
Messages postés
9
Date d'inscription
mercredi 6 janvier 2016
Statut
Membre
Dernière intervention
4 mars 2017
-
Bonjour,

Pourquoi faut-il déclarer des paramètres qui ont un nom différent des variables qui sont dans la méthode main ?

Si j'applique cette main + fonction pour calculer un périmètre de cercle, cela marche.
Cependant dans les corrections d'exercices je vois qu'on déclare dans la main par exemple double résultat au lieu de "p", et int valeurRayon au lieu de "r". Pourquoi c'est cette façon qui est conseillée ?

public class CercleEtFonction {
 
 public static void main(String[] args) {
  double p;
  int r;
  Scanner lectureClavier=new Scanner(System.in);
  
  System.out.println("Tapez la valeur du rayon ? ");
  r=lectureClavier.nextInt();
  
  p= périmètre(r);
  System.out.println("Le cercle qui a pour rayon "+r + " a pour périmètre : "+p );
 }
 
 
 public static double périmètre(int r) 
 {
  double p;
  p=2*Math.PI*r;
  return p;
   }
}


Merci d'avance de vos lumières...

1 réponse

Messages postés
16036
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 septembre 2020
2 674
Bonjour,

Pour Java cela ne change rien, les variables de main et celles de périmètre seront de toute façon différentes, même si elles ont le même nom.

Cependant les noms courts comme p et r sont à éviter, il vaut mieux mettre des noms explicites pour comprendre à quoi correspondent les variables.
Remarque : à cause de problèmes d'encodage il faut aussi éviter les noms avec des accents ou caractères spéciaux.

De plus, tu n'es pas obligé de déclarer tes variables au début de la méthode, il est même conseillé de les mettre plutôt au plus près du code qui s'en sert (afin d'éviter de les charger en mémoire trop tôt).

public class CercleEtFonction {

    public static void main(String[] args) {
        Scanner lectureClavier = new Scanner(System.in);

        System.out.println("Tapez la valeur du rayon ?");
        int rayon = lectureClavier.nextInt();

        double perimetre = perimetre(rayon);
        System.out.println("Le cercle qui a pour rayon " + rayon + " a pour périmètre : " + perimetre);
    }

    public static double perimetre(int rayon) {
        return 2 * Math.PI * rayon;
    }
}
Messages postés
9
Date d'inscription
mercredi 6 janvier 2016
Statut
Membre
Dernière intervention
4 mars 2017

Super merci beaucoup pour cette réponse rapide & claire
+ pour les conseils d'ordre de déclaration et noms de variables, tout est clair.
Merci !