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 :
- 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