-1
votes

Le code n'imprimera pas la moyenne pour le tableau de doubles

essayer d'écrire une méthode qui calcule la moyenne des valeurs dans un tableau de doubles, mais je ne peux pas obtenir la valeur moyenne à imprimer. Il compile et exécute et ne renvoie aucun résultat.

public class Test3Q1 {
    public static void main(String[] args) {
    }

    public static double average (double[]x) {
        double [] doubleValues = {3.0, 10.5, 19.8, 5.6, 3.2};
        double total = 0.0;
        for (int i =0; i<doubleValues.length; i++) {
        total += doubleValues[i];
        return total; }
        double average = total/doubleValues.length;


        System.out.println("The average of the doubles Array 
                               is: " + average);
        System.out.format("The average of the double array is: 
                             %.1f", average);
        return average;
    }
}


4 commentaires

Pourquoi retournez-vous à l'intérieur de la boucle?


Vous passez également double [] x mais pas l'utiliser dans la méthode.


Et votre méthode principale n'appelle jamais moyenne non plus.


Vous avez un retour à l'intérieur pour la phrase. Vous n'êtes pas itération sur une matrice et l'imprimeur n'est pas exécuté.


4 Réponses :


0
votes

Vous revenez total de l'intérieur de la boucle. C'est pourquoi cela n'imprime rien. Commentaire La déclaration totale de retour de la boucle pour la boucle et imprime la moyenne correctement.


1 commentaires

Le retour de peur dans la boucle n'est pas le seul problème. Voir les commentaires ci-dessus.



0
votes
return total; // delete that
It's escaping you out of your method.

0 commentaires

0
votes

Eh bien, je vois qu'il n'y a rien dans le code principal, c'est pourquoi il compile mais ne montre aucun résultat. Vous devez appeler la méthode dans principale mais effacer le paramètre double [] x parce que vous n'utilisez pas.


0 commentaires

1
votes

Cela ressemble à une question de devoirs pour moi, mais je pense que quelque chose comme ça devrait résoudre vos problèmes. xxx

Notez comment vous ne devez pas retour à l'intérieur du boucle dans ce cas. i J'ai également supprimé votre double [] x à partir des paramètres de la méthode moyenne , car il n'était pas nécessaire dans ce cas. J'ai modifié la réponse à Inclure le paramètre double [] valeurs à nouveau, car il rend la méthode plus polyvalente, car vous pouvez maintenant connecter n'importe quel tableau de double >


2 commentaires

Pourquoi ne pas laisser le double [] x en tant que paramètre et déplacez-vous le tableau doublevalues ​​ à l'état principal, de sorte que la méthode soit réutilisable pour calculer d'autres moyennes pour une autre entrée?


@ Serythean j'avais pensé à faire ça, mais je ne savais pas quelles étaient ses conditions. Je vais mettre à jour la réponse.