Je suis nouveau dans la programmation Java, veuillez donc excuser tout malentendu ou mauvaise interprétation. J'ai besoin d'écrire un programme avec 2 méthodes, la première méthode déclare un tableau d'entiers comme indiqué et une variable qui est la somme de ce tableau imprime ensuite la somme.
La deuxième méthode est l'endroit où mon addition a lieu. J'ai déclaré une variable "somme" égale à 0 pour que mon addition puisse fonctionner, et une boucle for qui ajoute tous les nombres entiers en fonction de la longueur du tableau, renvoyant la variable sum à la méthode principale. (D'après ma compréhension actuelle de mon programme)
Jusqu'à présent, cela ne fonctionne pas et j'obtiens 3 erreurs. Un de ma méthode principale "Impossible de trouver le symbole - inputArray" impossible de trouver le symbole dans ma boucle for pour "arr.length" et ne peut pas trouver le symbole dans mon "sum + = arr [i]" Quelqu'un pourrait-il s'il vous plaît expliquer et éventuellement aider à expliquer pourquoi je reçois ces erreurs. Merci pour votre temps.
public static void main(String[] args){ int arr[] = {1,2,3,4,5}; int sum = sumArray(inputArray); System.out.println("The sum is: "+sum); } public static int sumArray(int[] inputArray){ int sum = 0; int i; for (i = 0; i < arr.length; i++){ sum += arr[i]; return sum; } }
5 Réponses :
Le nom de la variable est inputArray
. L'instruction return
doit également être en dehors de la boucle:
public static int sumArray(int[] inputArray){ int sum = 0; for (int i = 0; i < inputArray.length; i++){ sum += inputArray[i]; } return sum; }
Vous pouvez également utiliser pour chaque pour trouver la somme. Trouvez le code ci-dessous
public static int sumArray(int[] arr){ int sum = 0; for(int i:arr) { sum+=i; } return sum; }
L'instruction de retour doit être en dehors de la boucle for. Lorsque l'instruction return est dans la boucle, la méthode sumArray renvoie la valeur du premier élément de inputArray. Ci-dessous, j'ai également ajouté pour chaque boucle et remplacé le nom arr par le nom du paramètre inputArray.
public static int sumArray(int[] inputArray){ int sum = 0; for (int element : inputArray){ sum += inputArray[i]; } return sum; }
Dans java-8, vous pouvez utiliser des flux comme celui-ci:
public static int sumArray(int[] arr) { int sum = IntStream.of(arr).sum(); return sum; }
Sortie: La somme est: 15.
C'est dans le package java.util.stream
Je pense que cela devrait résoudre votre problème:
public static void main(String[] args){ int arr[] = {1,2,3,4,5}; int sum = sumArray(arr); System.out.println("The sum is: "+ sum); } public static int sumArray(int[] inputArray){ int sum = 0; for (int i = 0; i < inputArray.length; i++){ sum += inputArray[i]; return sum; } }
ajoutez l'instruction return après la fin de la boucle
for
.pour (i = 0; i