Comment trouver les nombres dans un tableau qui est supérieur, inférieur ou égal à une valeur?
Je suis en train de sortie les valeurs qui sont à moins de cinq et les valeurs qui sont supérieures à la moyenne de toutes les valeurs dans le tableau . Je ne peux pas comprendre comment le faire, tout le travail et de sortie les bons numéros. Quelqu'un peut-il aider?
Voici ce que j'ai, je suis presque là, je ne sais pas ce que je fais mal.
{
int[] numbers = {2, 4, 6, 8, 10, 12, 14, 16};
int sum = 0;
for (int x : numbers)
sum += x;
System.out.println("Numbers in order:");
{
for(int x = 0; x < numbers.length; ++x)
System.out.println(numbers[x]);
}
System.out.println("Numbers in reverse order:");
{
for(int x = 0; x < numbers.length; ++x)
System.out.println(numbers[x]);
}
System.out.println("The sum of all eight numbers is: " + sum);
System.out.println("The lowest number is: " + numbers[0]);
System.out.println("The highest number is: " + numbers[7]);
System.out.println("The average of all eight numbers is: " + sum * 1.0 / 8);
System.out.println("All numbers higher than the average are: ");
{
for(int x = 0; x < numbers.length && x > 9;)
{numbers[x] = x + 1;}
int x = 0;
System.out.println(numbers[x]);
}
System.out.println("Numbers less than 5: ");
{
for(int x = 0; x < numbers.length && x > 5;)
{numbers[x] = x + 1;}
int x = 0;
System.out.println(numbers[x]);
}
}
- Je suggère de mettre chaque tâche dans sa propre méthode. Il fera de votre code beaucoup plus facile de créer, de lire et de comprendre.
Vous devez vous connecter pour publier un commentaire.
Je suppose que c'est un des devoirs question donc je ne vais pas vous donner directement le code de réponse, mais d'essayer de les aider, de toute façon.
Le comptage de la boucle déclaration se compose généralement de trois parties (séparées par des ";"):
Lors de l'itération sur un tableau et essayer de trouver les éléments qui répondent à des critères spécifiques (dans ce cas "le nombre de moins de 5"), vous ne devriez pas le faire que dans la condition de la boucle (étape 2 ci-dessus), si cela est vrai pour n'importe quel nombre dans votre tableau, la boucle va s'arrêter. Vous devriez probablement vérifier avec un si-déclaration à l'intérieur de votre boucle.
Maintenant, nous avons une boucle qui va parcourir tout le tableau en comptant x allant de 0 (la 1ère partie de l'énoncé, "int x = 0") jusqu'à ce que nous arrivons à la fin du tableau (2e partie, "x < nombres.longueur") en étapes de 1 (3e partie, "x++". Pourrait aussi être écrit "x = x + 1"). Dans chaque itération, nous pouvons maintenant vérifier l'élément de la matrice (chiffres de[x]) pour moins de 5 avec un si-déclaration, et si c'est de l'imprimer.
Calculer la moyenne:
Tous les nombres plus élevés que la moyenne:
Nombre inférieur à 5:
Veuillez considérer comment vous définissez votre appareil dans la boucle. Son comme ceci:
int
pour la moyenne. Même si vous l'avez fait, je ne suis pas sûr de savoir pourquoi vous devriez utiliser unint
, depuis que serait principalement tronquer votre moyenne.System.out.println("The average of all eight numbers is: " + (sum / numbers.length);
serait de travailler. Bien qu'il n'y a pas de formatage se passe là-bas.1.0 / 8
au lieu de1 / 8
. Il est préférable d'obtenir le résultat réel, d'un flotteur et de mise en forme ou de coulée comme un entier intentionnellement, plutôt que de laisser le compilateur de le tronquer.Dans java 8, vous pouvez utiliser des expressions lambda pour obtenir le même résultat que dans une boucle for, mais plus court. Lire plus sur les expressions lambda ici: Les Expressions Lambda