Question de débutante sur paramètres de fonction

Résolu/Fermé
BricoletteDuDimanche Messages postés 9 Date d'inscription mercredi 6 janvier 2016 Statut Membre Dernière intervention 4 mars 2017 - Modifié par KX le 6/02/2016 à 12:16
BricoletteDuDimanche Messages postés 9 Date d'inscription mercredi 6 janvier 2016 Statut Membre Dernière intervention 4 mars 2017 - 6 févr. 2016 à 12:40
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...

A voir également:

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
6 févr. 2016 à 12:29
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;
    }
}
0
BricoletteDuDimanche Messages postés 9 Date d'inscription mercredi 6 janvier 2016 Statut Membre Dernière intervention 4 mars 2017
6 févr. 2016 à 12:40
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 !
0