Mise a jour d'un texte ou variable
Résolu
JeryVG
Messages postés
6
Statut
Membre
-
JeryVG Messages postés 6 Statut Membre -
JeryVG Messages postés 6 Statut Membre -
Bonjours,
j'ai un problème au niveau d'une mise a jour d'une méthode.
Voici un exemple:
Parce qu’a la fin je n'ai que des somme=6.
Je voudrais savoir comment régler ce problème sans passer par des variable globale ou des return.
Merci pour l'aide
j'ai un problème au niveau d'une mise a jour d'une méthode.
Voici un exemple:
public class math
{
public static void main(String[] args)
{
for(int i = 0 ; i<5 ;i++){
somme(a());
}
}
public static int a(){
int compteurA=0;
compteurA=compteurA+1;
return compteurA;
}
public static void somme(int compteurA){
int B;
int somme;
B=5;
somme=0;
somme=B+compteurA;
System.out.println("somme = "+ somme);
}
}
Parce qu’a la fin je n'ai que des somme=6.
Je voudrais savoir comment régler ce problème sans passer par des variable globale ou des return.
Merci pour l'aide
A voir également:
- Mise a jour d'un texte ou variable
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Mise a jour chromecast - Accueil - Guide TV et vidéo
- Mise à jour libre office - Accueil - Bureautique
- Mise a jour xiaomi - Accueil - Téléphones
2 réponses
Bonjour,
À chaque fois tu réinitialises compteurA à 0 dans a() et tu réinitialise à 0 ta somme dans b(), donc a() renvoie toujours 1 et somme renvoie toujours 6, c'est normal...
Dans tous les cas si tu veux faire une somme il te faut deux valeurs : a et b pour calculer a + b, pour l'instant tu n'as que a (et b vaut toujours 5) donc ça ne peut pas s'accumuler.
Et si tu veux modifier un paramètre (ce qui est en général une mauvaise idée) il faut que ce soit un objet.
Exemple :
À chaque fois tu réinitialises compteurA à 0 dans a() et tu réinitialise à 0 ta somme dans b(), donc a() renvoie toujours 1 et somme renvoie toujours 6, c'est normal...
Dans tous les cas si tu veux faire une somme il te faut deux valeurs : a et b pour calculer a + b, pour l'instant tu n'as que a (et b vaut toujours 5) donc ça ne peut pas s'accumuler.
Et si tu veux modifier un paramètre (ce qui est en général une mauvaise idée) il faut que ce soit un objet.
Exemple :
class Nombre {
int valeur;
}
public class Math {
public static void main(String[] args) {
Nombre result = new Nombre();
for (int i = 0; i < 5; i++) {
somme(result, 1); // result += 1
System.out.println("somme = " + result.valeur);
}
}
public static void somme(Nombre resultB, int valeurA) {
resultB.valeur += valeurA;
}
}