0
votes

La méthode Sum (int, INT, INT, INT) n'est pas applicable pour les arguments (int)

Créer une méthode appelée moyenne qui calcule la moyenne de la Les numéros passés comme paramètres. La méthode précédemment créée la somme doit être utilisé à l'intérieur de cette méthode! p>

Définissez la méthode dans le modèle suivant: P>

public class Test066 {
    public static void main(String[] args) {
        double result = average(4, 3, 6, 1);
        System.out.println("Average: " + result);
    }

    public static int sum(int number1, int number2, int number3, int number4) {
        return number1 + number2 + number3 + number4;
    }

    public static double average(int number1, int number2, int number3, int number4) {
        int avg = sum(number1 + number2 + number3 + number4);
    }
}

6 commentaires

Vous devriez écrire la formule pour une moyenne et regarder attentivement. Comment diriez-vous à quelqu'un de prendre une moyenne?


Vous devez lancer la somme en un double puis renvoyer la double divisée par 4 à l'intérieur de la méthode moyenne.


@markspace ce que je ferais normalement serait: int Sum = numéro1 + numéro2 + numéro3 + numéro4; int AVG = somme / 4;


@mightymorphinparkranger L'erreur que vous constatez est parce que vous faites ceci: somme (numéro1 + numérum2 + numéro3 + numéro4) , que vous avez l'intention de faire cela: somme (numéro1, numéro2, Numéro3, numéro4) .


La méthode SUM 4 arguments (type int ), votre code n'en passait que - le résultat de la somme des numéros! int AVG = somme (numéro1, numéro2, numéro3, numéro4) La somme est effectuée à l'intérieur de la méthode. L'étape suivante permettrait de calculer la moyenne (comme double , pas int (sauf si cela est recherché))


Avez-vous déjà appris les matrices? Avez-vous déjà appris les méthodes de Varargs? Je crois que (je devine bien sûr) que votre méthode est fausse et aurait dû prendre les chiffres est un tableau ou comme varargs.


5 Réponses :


0
votes

int AVG = somme (numéro1 + numéro2 + numéro3 + numéro4);

numéro1 + numéro2 + numéro3 + numéro4 convertit ces 4 nombres en un, vous essayez donc d'appeler somme (int) qui n'existe pas.

Essayez int AVG = somme (numéro1, numéro2, numéro3, numéro4);


0 commentaires

0
votes

merci @jordan. Je faisais toujours référence à la méthode Somme () comme si j'étais toujours dans cette méthode. J'aurais dû remplacer les signes de plus avec des virgules. Donc, il devrait ressembler à ceci: xxx


1 commentaires

C'est faux. Si la valeur correcte est x (positif / négatif), cela donnera au math.floor (x) /math.ceil (x) , pas x < / code>.



0
votes

Ceci est votre problème: xxx

Votre méthode est xxx

qui prend 4 arguments. En effectuant Number1 + Number2 + Number3 + Number4 Vous passez un argument, car vous ajoutez tous les numéros ensemble.

Ce que vous voulez à la place est le suivant: xxx

et, bien sûr, vous devez toujours calculer correctement la moyenne après avoir obtenu la somme.


0 commentaires

1
votes
double avg = sum(number1, number2, number3, number4) / 4.0;
return avg;

0 commentaires

0
votes

Vous devrez ajouter:

double avg = (double)sum(number1,number2,number3,number4)/4;


0 commentaires