Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1289 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Void en java

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Void en java

n°2236829
ahmadou_20
Posté le 02-09-2014 à 14:54:47  profilanswer
 

Bonjour,  
 
 
 
Je pose peut etre une question debile mais je suis pas sur de comprendre pourquoi mon code ci dessous ne marche pas.
 
 
 

Code :
  1. public void update(int a, int b) {
  2.  
  3.     a = a + b;
  4.   }
  5. public void main(){
  6. int a = 0;
  7. int b = 10;
  8. update(a, b);
  9. System.out.println("Result " + a);
  10. }


 
 
 
En fait je m attendais a ce que j aie a=10 mais a est toujours egale a zero.
 
Je pense que j ai rate quelaue chose !!!
 
 
Merci de votre aide.

mood
Publicité
Posté le 02-09-2014 à 14:54:47  profilanswer
 

n°2236836
x1fr
Posté le 02-09-2014 à 16:13:35  profilanswer
 

C'est parce que a est passé par valeur à la méthode update (voir infos par là)
 
Ca veut dire que quand tu entres dans la méthode update, il y a 2 variables a : celle du main (on va l'appeler a1) et celle de l'update (on va l'appeler a2).
 
Quand tu fais a = a+b, ce qui se passe en réalité c'est que a2 va prendre la valeur 10 mais a1 reste à 0.
 
Si tu avais fait le println après l'addition, tu aurais bien obtenu le résultat attendu.
 
Je ne connais pas trop java, en C# tu aurais pu déclarer ta méthode update comme ça:
 

Code :
  1. public void update(ref int a, int b)


 
A priori en java ça n'est pas possible directement (je n'ai pas trop creusé en même temps)


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
n°2236838
ddr555
Posté le 02-09-2014 à 16:48:20  profilanswer
 

suffit de retourner le résultat par la fonction et de l'appliquer à ta variable a


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Void en java

 

Sujets relatifs
FileDialog Java (remote desktop) not refreshingavoir 2 processus java distincts pour 2 programmes ?
collection javacompte bancaire sous java
Créer un logiciel JAVA/FLASH + mise en ligne ?Prendre une photo à partir de la webcam en JAVA
LinkedList java[JAVA] Méthode "void" ou faire un "return"
Execution d'un void main(args[]) en java et valeur retourjava c'est quoi le void
Plus de sujets relatifs à : Void en java


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR