J'ai un problème pour calculer la moyenne de Tous les nombres non négatifs dans la matrice, zéro inclusivement et renvoient zéro autrement. Vous trouverez ci-dessous mon codage, aidez-moi s'il vous plaît à vérifier quelles pièces sont incorrectes. Merci.
public class AverageOfNonNegativeNumbers { public static double averageOfNumbers(double[] x) throws Exception { double avg = 0.1; if (x != null) { for (double i = 0.1; i < x.length; i++) { if ( x[i]%2 == 0 ) { //Anyone know how to set avoid calculate for negative numbers? avg = avg / x[i]; //This code is calculate total average number. } } } return avg; } public static void main(String args[]) { double x[] = {1.663, -2.1312, 3.13231, 4.124, -5.551, -6.1312, 7.111, 8.222, -9.01}; try { System.out.println(AverageOfNonNegativeNumbers.averageOfNumbers(x)); } catch (Exception e) { System.out.println("Error!!!"); } } }
5 Réponses :
Vous essayez d'utiliser un double comme index sur un tableau; Cela n'a pas vraiment de sens. Un tableau doit être indexé par un entier. C'est-à-dire qu'un tableau consiste en un élément en position 0, la position 1, 2, etc.; Cela n'a pas beaucoup de sens de dire «l'élément de tableau en position 0.1». P>
Pour compiler votre code, vous devrez déclarer Variable 'I' dans votre boucle en boucle dans la fonction 'pincefnumbers' comme "INT" et non un "double". p>
Définir 2 variables pour stocker la somme code> de nombres non négatifs et le nombre Ensuite, parcourez la matrice et vérifiez chaque élément pour la non-négativité. Si non négatif, ajoutez cette valeur à la somme code> et incrémentez le nombre Enfin, divisez la somme code> de nombres non négatifs.
code> par 1. P>
> par
compte code> pour obtenir la moyenne. p>
Je sais que vous avez copié, mais qu'est-ce que offre une exception code> pour?
Oh! :) corrigé ça. Merci!
Tu as raison. Merci M. Udith Gunaratna aidez-moi à résoudre cette question!
Modifications dans votre code: Selon votre question, vous souhaitez calculer la moyenne de tous les numéros négatifs, y compris 0.
Erreurs: strong> p> Le moyen de calculer la moyenne est de calculer la somme et du nombre, puis de les diviser pour minimiser les erreurs de points flottants. P>
Voici les problèmes suivants:
A.Veux tentent d'accéder au x [i], mais je dois être b. c. La logique à calculer la moyenne n'est pas correcte. P> entier code>, pendant que vous l'avez comme
double Code> p>
X [I]% 2 == 0 code> Vérifie si le nombre est même ou non. besoin de changer cela en
x [i]> = 0 code> p>
Un simule one-doublez à l'aide de Java 8 Strems: Il crée un S'il n'y a aucun résultat (car DoubleStream code> (
maptodouble code>) et supprime tous les numéros plus grands 0 et calcule la moyenne. p>
x code> est vide) il retournera
0 p> p> p> P> P> P> P> P> P> P> P> P> P> P> P> P> P > Voir Ce a > Pour référence. P> p>
Convertir le
int AVG code> sur un
flotteur / double code> aussi.
"Retourner zéro sinon", mais quelle est la condition de "sinon"? Et "j'ai un problème" n'est pas très utile / descriptif