java - 如何在数组中查找大于、小于或等于某个值的数字?

标签 java arrays loops for-loop

我正在尝试输出小于 5 的值和大于数组中所有值的平均值的值。我不知道如何使这一切顺利进行并输出正确的数字。有人可以帮忙吗?

这就是我所拥有的,我快要到了,我只是不知道我做错了什么。

{
   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]);
   }
}  

最佳答案

我认为这是一个家庭作业问题,所以我不会给你一个直接的代码答案,但无论如何都会尽力提供帮助。

System.out.println("Numbers less than 5: ");
for(int x = 0; x < numbers.length && x > 5;) {
    numbers[x] = x + 1;
}

计数for循环语句一般由三部分组成(用“;”分隔):

  1. 在循环开始之前执行的变量声明,通常是计数变量(在您的情况下为“int x = 0”)
  2. 中断条件,如果为真,我们退出循环,这就是你的循环错误的地方(而且你的代码说“x > 5”,这意味着“x大于5”,与你的输出显示“小于 5”)。
  3. 每次迭代后都会发生一些事情,通常会将 1 添加到第一步中定义的 count 变量(您在当前的代码中缺少此操作)

当迭代数组并尝试查找与特定条件匹配的元素(在本例中为“小于 5 的数字”)时,如果对于任何条件都是如此,则不应在循环条件中执行此操作(上面的步骤 2)数组中的一个数字循环将停止执行。您可能应该在循环内使用 if 语句进行检查。

for (int x = 0; x < numbers.length; x++) {
    if (/* number is less than 5 */) {
        // print number
    }
}

现在我们有一个 for 循环,它将通过从 0 开始计算 x(for 语句的第一部分,“int x = 0”)来遍历整个数组,直到到达数组的末尾(第二部分, “x if 语句检查数组元素 (numbers[x]) 是否小于 5,如果是则打印它。

关于java - 如何在数组中查找大于、小于或等于某个值的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26558397/

相关文章:

java - 为什么要使用 instanceof 运算符?

java - 通过 TCP/IP 接收对象

java - 如何修改或重新训练现有的 OpenNLP 模型?

c - 分配和释放二维数组

java - 循环逻辑错误

java - 如何在 spring boot 应用程序中将用户添加到嵌入式 tomcat?

c# - 在传递给 C 或 C# 中的函数时,数组是否像指针一样工作?

c - c中的&a,&a[0],a有什么区别

python - 如何根据同一数据框中具有特定条件的另一记录更新一条记录的值

python - 返回列表中大于某个阈值的最后一个元素