0
votes

(JAVA) Ajout d'entiers dans un tableau

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;
    }   

}


1 commentaires

ajoutez l'instruction return après la fin de la boucle for . pour (i = 0; i


5 Réponses :


3
votes

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;
}


0 commentaires

0
votes

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;   
}


0 commentaires

0
votes

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;
}


0 commentaires

0
votes

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


0 commentaires

0
votes

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;
   }
}


0 commentaires