Mon méthode fonctionne pas
Résolu
domxaline
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
comme j'ai dit la haut, mon méthode donne pas le résultat correct, veuillez m'aidez svp
comme j'ai dit la haut, mon méthode donne pas le résultat correct, veuillez m'aidez svp
public class Test8
{
public static void main(String[] args)
{
int tab[]={2,5,3,10};
int somme=0;
Test(tab,somme);
//System.out.println("Dans le tab [ "+(i)+" ] valeur est: "+somme);
System.out.println(somme);
}
public static int Test(int []tab,int somme)
{
somme=0;
for (int i=0; i<tab.length; i++)
{
somme=somme+ tab[i];
//System.out.println("Dans le tab [ "+(i)+" ] valeur est: "+somme);
}
return somme;
}
}
A voir également:
- Mon méthode fonctionne pas
- Methode rar - Guide
- Votre appareil est hors connexion. essayez une autre méthode de connexion - Forum Réseaux sociaux
- Quelle est la méthode la plus rapide pour supprimer une page dans word - Guide
- Le programme ne contient pas de méthode 'main' statique adaptée à un point d'entrée - Forum C#
- Mon pc portable reste "hors connexion"... ✓ - Forum Réseaux sociaux
2 réponses
Bonjour,
Vous avez trois inconvénients dans votre code :
1. La variable somme est passé par valeur non pas par référence (comme c'est le cas avec les objets en java),
2. Somme peut ne pas être envoyée à la méthode,
3. La valeur retournée par la méthode n'est pas retenue.
Un petit correctif :
Vous avez trois inconvénients dans votre code :
1. La variable somme est passé par valeur non pas par référence (comme c'est le cas avec les objets en java),
2. Somme peut ne pas être envoyée à la méthode,
3. La valeur retournée par la méthode n'est pas retenue.
Un petit correctif :
// J'ai pas testé :
public class Test8
{
public static void main(String[] args)
{
int tab[]={2,5,3,10};
int somme=0;
// Je récupère la valeur retournée par la méthode ici :
somme = Test(tab);
//System.out.println("Dans le tab [ "+(i)+" ] valeur est: "+somme);
System.out.println(somme);
}
public static int Test(int []tab)
{
// Ceci est une nouvelle variable, complètement différente de somme déclarée dans main
int somme=0;
for (int i=0; i<tab.length; i++)
{
somme=somme+ tab[i];
//System.out.println("Dans le tab [ "+(i)+" ] valeur est: "+somme);
}
return somme;
}
}
public class Test8 { public static void main(String[] args) { System.out.println(test(2,5,3,10)); } public static int test(int...tab) { int sum = 0; for (int n : tab) sum += n; return sum; } }