Comment avez-vous trouver la somme de tous les nombres dans un tableau en Java?
Je vais avoir un problème pour trouver la somme de tous les entiers dans un tableau en Java. Je ne trouve aucune méthode utile dans le Math
classe pour cette.
- Écrivez votre propre, le code pour le faire est de 2 à 3 lignes de long.
- Malheureusement, le ci-dessus (et les suivantes), les "réponses" sont "La Java de Manière" :-/ Vous pouvez utiliser la Fonctionnelle de la bibliothèque Java, mais il est tellement lourd à traiter avec la syntaxe Java.
- Je sais que cette question est très vieux, mais le réponse par msayag ci-dessous me semble qu'il doit être marqué comme accepté de répondre.
Vous devez vous connecter pour publier un commentaire.
Dans java-8 vous pouvez utiliser les flux:
De sortie:
La somme de 150.
C'est dans le package
java.util.stream
Si vous êtes à l'aide de Java 8, le
Tableaux
classe fournit unflux(int tableau [])
méthode qui renvoie un séquentielleIntStream
avec leint
tableau. Il a également été surchargé pourdouble
etlong
tableaux.Il fournit également une méthode
flux(int tableau [], int startInclusive, int endExclusive)
qui vous permet de prendre de la plage spécifiée de la matrice (qui peut être utile) :Enfin, il peut prendre un tableau de type
T
. Ainsi, vous pouvez par exemple avoir unString
qui contient des nombres en entrée et si vous souhaitez calculer la somme juste à faire :C'est une de ces choses simples qui n'a pas (à ma connaissance) existent dans la norme API Java. Il est assez facile d'écrire votre propre.
Autres réponses sont parfaitement bien, mais en voici une avec des for-each sucre syntaxique.
Aussi, un exemple de tableau de sommation est même indiqué dans la Spécification du Langage Java 7. L'exemple est à partir de la Section 10.4 - Accès au Tableau.
Vous ne pouvez pas. D'autres langues ont certaines méthodes comme array_sum() en PHP, mais Java ne fonctionne pas.
Juste..
Dans Apache Mathématiques : Il y a
StatUtils.sum(double[] arr)
Le seul point que je voudrais ajouter aux précédentes solutions est que je voudrais utiliser un long temps pour accumuler le total afin d'éviter tout dépassement de la valeur.
Dans
Java 8
Code:
Sortie:
Explication:
Dans
Java 8
, vous pouvez utiliser la réduction de concept de faire votre plus.Lisez tous au sujet de la Réduction
À mon humble avis une fonction somme semble un bon ajustement pour étendre les Tableaux de la classe de remplissage, de tri, de recherche, de copie, & équivaut à vivre. Il y a beaucoup de pratique de méthodes de dissimulation dans la javadoc de sorte qu'il est juste question lors du portage de Fortran pour java à poser avant de lancer notre propre méthode d'assistance. Recherche par le biais de l'énorme javadoc de l'index "somme", "ajouter" et un autre mot-clé que vous pourriez penser. Vous vous en doutez certainement quelqu'un l'a déjà fait pour les types primitifs de type int, float, double, Integer, Float, Double? N'importe comment simple, il est toujours bon de vérifier. Garder le code le plus simple possible et ne pas réinventer la roue.
J'aime cette méthode personnellement. Mon style de code est un peu bizarre.
Assez facile à utiliser dans le code:
J'utilise ceci:
Vous devez faire tourner votre propre.
Vous commencez avec un total de 0. Alors vous considérez pour tout entier dans le tableau, l'ajouter à un total. Puis, quand vous êtes hors de nombres entiers, vous disposez de la somme.
Si il n'y avait pas des entiers, puis le total est de 0.
Il y a deux choses à apprendre de cet exercice :
Vous avez besoin de faire une itération sur les éléments de la matrice en quelque sorte - vous pouvez le faire avec une boucle for ou une boucle while.
Vous avez besoin de stocker le résultat de la sommation dans un accumulateur. Pour cela, vous devez créer une variable.
Vous pouvez faire de votre code meilleur comme ceci:
Il y a une somme() la méthode en soulignent-java bibliothèque.
Exemple de Code:
Il n'existe pas de méthode dans une classe de mathématiques " pour une telle chose. Ses pas comme sa fonction racine carrée ou quelque chose comme ça.
Vous avez juste besoin d'avoir une variable pour la somme et la boucle à travers le tableau de l'ajout de valeur pour trouver la somme.
Nous pouvons utiliser des fonctions définies par l'utilisateur. Au premier abord initialiser somme variable est égale à zéro. Alors parcourir le tableau et ajouter l'élément avec la fonction sum . Ensuite mettre à jour la variable de la somme.
Extrait De Code :
Utilisation soufflet logique
De Java 8 L'utilisation des expressions lambda sont devenus disponibles.
Voir ceci:
Compact:
Préférez:
Retour ou imprimer somme.