Java
Résolu/Fermé
A voir également:
- Java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Waptrick jeux pes 2016 java - Forum logiciel systeme
3 réponses
titus22
Messages postés
1918
Date d'inscription
jeudi 1 décembre 2011
Statut
Membre
Dernière intervention
16 février 2012
636
6 févr. 2012 à 10:54
6 févr. 2012 à 10:54
La tu nous a donné une classe il faut voir le main pour comprendre :)
A ce que je vois :
méthode1 recoit X et lui ajoute 12
méthode2
appèle méthode 1 avec 3 en paramêtre et affiche y=3
A ce que je vois :
méthode1 recoit X et lui ajoute 12
méthode2
appèle méthode 1 avec 3 en paramêtre et affiche y=3
Utilisateur anonyme
6 févr. 2012 à 12:25
6 févr. 2012 à 12:25
Salut,
C'est x qui prendra la valeur 15 et y reste = 3:
Cordialement,
Dan
C'est x qui prendra la valeur 15 et y reste = 3:
public class Main { public static void main(String args[]) { A obj = new A(); obj.methode2(); } } /* public class A { public void methode1( int x) // x = 3 { x+=12; // x de 3 passe à 15 System.out.println("x = " + x); // x = 15 } public void methode2( ) { int y = 3; methode1(y); System.out.println("y= "+y); // y = 3 } } */
Cordialement,
Dan
6 févr. 2012 à 11:28
{
A obj = new A();
obj.methode2();
}
alors ca va affiché le 3 , alors comment ça ?
et mérci beaucoup de m'avoir répondu !!
Modifié par titus22 le 6/02/2012 à 11:36
int y=3; // La tu déclare une variable y = 3
methode1(y); // La tu appele la méthode 1 en lui donnant 3 en paramêtre.
System.out.println("y="+y); // La tu affiche y = ainsi que la valeur de y qui est 3 car tu l'as pas changé
donc tu aura à l'écran :
y = 3
Ton problème c'est que ta méthode 1 n'est pas bien écrite.
void methode1( int x) {
x+=12;
}
En gros elle recoit le nombre 3 que tu lui envois, elle lui ajoute 12 et c'est tout. x est une variable local à la fonction. x sera détruit à la fin de la fonction. Tu dois utiliser cette valeur comme valeur de retour. Comme ceci :
int methode1( int x) {
x+=12;
return x;
}
et dans ta méthode 2 tu dois stocker cette valeur de retour pour pouvoir l'afficher en suite.
void methode2( ){
int y=3;
y=methode1(y);
System.out.println(y="+y); // y=3
}
Voila ;)
La classe A réecrite est simplifié :
classe A {
int methode1( int x) {
return x+12;
}
void methode2( )
int y=methode1(3);
System.out.println("y="+y);
}
}
6 févr. 2012 à 11:50