Problème de référence

Fermé
sacamoto Messages postés 6 Date d'inscription dimanche 4 novembre 2012 Statut Membre Dernière intervention 27 octobre 2014 - 27 oct. 2014 à 18:45
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 27 oct. 2014 à 19:30
On définit la méthode suivante, sensée permuter deux pays :

static void permuter(Pays p1, Pays p2)
{
Pays tmp=p1;
p1=p2;
p2=tmp;
}
que l'on utilise dans le code suivant :

Pays p1 = new Pays(100000, 200000);
Pays p2 = new Pays(300000, 400000);
permute(p1, p2);
System.out.println(p1.surface);
System.out.println(p2.surface);

Pourquoi ce code affiche-t'il le résultat suivant ?
200000
400000

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
27 oct. 2014 à 19:30
Bonjour,

Les variables p1 et p2 dans la méthode ne sont pas les mêmes que celles qui sont en dehors.
Tu pourrais les renommer par exemple arg1 et arg2, dans ce cas ce que tu permute ce sont arg1 et arg2 ce qui n'a aucun effet sur p1 et p2...
0