Paramètres en sortie?

Signaler
Messages postés
6
Date d'inscription
jeudi 23 décembre 2004
Statut
Membre
Dernière intervention
8 février 2006
-
Messages postés
6
Date d'inscription
jeudi 23 décembre 2004
Statut
Membre
Dernière intervention
8 février 2006
-
bonjour à tous!

Je commence le java (en gros mes connaissances se limitent à peu près au livre "java 2 pour les nuls") et j'ai un exercice qui me demande de faire une fonction qui n'a pas de valeur retour (ça c'est ok), mais qui renvoie deux tableaux en "paramètres en sortie" (mon problème est ici). J'ai cherché, mais je ne comprends pas comment une fonction qui n'a pas de valeur de retour peut sortir des paramètres. je suis sûr que la réponse est très simple, vu que le reste de l'exercice l'est, mais je sèche.

merci d'avance pour votre aide.

3 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
Des fonctions qui ne renvoient rien peuvent quand même retourner des valeurs en passant par les paramètres qui lui sont passés, cela s'appelle le passage par référence (ce qui peut être dangeureux si on n'y fait pas gaffe !).

Le principe ? Tout simplement modifier les valeurs des paramètres de la fonction :

class Entier {


public int i;


public Entier(int i) {


this.i = i;


}


}





public void incrementerEntier(Entier entier) {


entier.i += 1;


}

Le principe reste le même pour les tableaux.

_
Messages postés
344
Date d'inscription
mardi 18 mai 2004
Statut
Membre
Dernière intervention
23 juin 2006
7
Quand tu passes des tableaux en paramètres, ils sont passé par référence, donc à la fin de la fonction les tableaux initiaux ont été modifiés.

"A game is a series of interesting choices." Sid Meier
Messages postés
6
Date d'inscription
jeudi 23 décembre 2004
Statut
Membre
Dernière intervention
8 février 2006

ok merci, je pense que je dois effectivement simplement modifier des tableaux existants, et non, comme je le pensais, créer des nouveaux tableaux et les sortir.

merci pour vos réponses qui m'ont montré la bonne voie.