méthodes de java en multipliant les éléments dans un tableau à l'aide d'une boucle
Définir une méthode en Java nommé weightedSum() qui prend deux entiers tableaux comme arguments. L'
la méthode utilise une boucle pour multiplier les éléments correspondants des deux tableaux (c'est à dire, il multiplie le premier argument de chaque tableau d'ensemble, suivie en multipliant le deuxième élément de chaque tableau, et ainsi de suite), et renvoie la somme de ces produits (qui est aussi un entier). On peut supposer que les deux tableaux sont de longueur égale.
public int weightedSum(int [] a ,int [] b)
{
int value;
int sum ;
for (int i = 0 ; i < a.length ; i++)
{
value = a[i] * b [i];
value = value +value ;
}
return value;
J'ai du mal à écrire cette méthode pour mon affectation . J'en vertu de la stand de il accepte de tableaux, mais j'ai du mal à écrire la boucle elle-même de sorte qu'il multiplie chaque élément du tableau avec son homologue de l'inverse de la matrice de sorte pos [1] * pos [1], puis ajoutez les deux valeurs togather avec pos [2] + pos[2] et pour obtenir la somme totale de toutes les valeurs
- Astuce: vous avez une variable appelée
sum
, mais vous ne l'utilisez pas... - pour tester votre méthode, similaire à celui de l'impression de messages comme décrit ici - docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html - pour comprendre ce qui se passe dans chaque itération. Commencez avec 2 tableaux à 3 éléments définis dans chaque et ajouter un peu de l'impression dans votre code pour le comprendre.
Vous devez vous connecter pour publier un commentaire.
ci-dessous sont les changements nécessaires dans votre code. Fondamentalement, vous n'avez jamais mis à jour la variable somme après permet de calculer le produit des éléments correspondants dans les deux tableaux. Aussi, vous pourriez voulez utiliser pour le type long pour stocker le résultat de la somme & le produit que l'int valeur peut déborder si les éléments du tableau sont suffisamment importantes.
sum
n'est certainement pas attribué. (Je voudrais aussi changer le champ d'application devalue
, mais ça c'est une autre affaire.)Essayez ceci:
La plupart du code est correct, cependant la deuxième ligne dans la boucle ne devrait pas changer la valeur de la variable, la variable de la somme doit être mis à jour avec la valeur.
quelque chose comme somme += valeur.
puis retour somme.
Changer à cela:
Aussi initialiser
value
à0
avant de l'utiliser.Retirez également le
sum
variable.sum
variable; il faisait référence à la somme des valeurs, qui est le sens de la question posée. Pierre première réponse n'a pas renvoyé de la somme, donc, était incorrecte.