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