Return d'une fonction static java

Résolu/Fermé
IMssMl - 21 avril 2011 à 23:39
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 22 avril 2011 à 00:06
Bonjour,
cette fonction fait permuter 4 arguments . si On l'applique dans le contexte suivant :
String a="bon" ; String b="jour" ; int c=3 ; int d =4 ;
permuter(a,b,c,d) ;
on aura avoir :
bon ; jour; 3 ;4 cad rien n'est changé est ce que ca est due au l'utilisation de static ou passage par valeur !!!

public static void permuter (String s1, String s2, int x1, int x2){
String tmp1=s1 ; s1=s2 ; s2=tmp1 ;
int tmp2=x1 ; x1=x2 ; x2=tmp2 ; }
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
21 avril 2011 à 23:44
En effet, le problème vient du passage des données en Java.
C'est un passage par référence, c'est à dire que les s1 et s2 sont bien permutés, mais ils ne correspondent pas physiquement à a et b (idem pour x1,x2 et c,d) donc quand tu sors de la fonction a,b,c,d n'ont jamais été modifiés !
0
et l'utilisation de Static n'influence pas sur la modification . cad c'est j'ai passé les vars par reference , j'aurais une bonne reponse !!
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
Modifié par KX le 22/04/2011 à 00:07
static permet juste de déterminer que le traitement dépend d'aucun objet, ça n'a aucun rapport avec ce problème !
0