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

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...

Afficher la suite 

1 réponse

Messages postés
16075
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
15 novembre 2019
2453
0
Merci
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;
    }
}
BricoletteDuDimanche
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 !