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 unflotteur / 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