我正在尝试输出小于 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循环语句一般由三部分组成(用“;”分隔):
- 在循环开始之前执行的变量声明,通常是计数变量(在您的情况下为“int x = 0”)
- 中断条件,如果为真,我们退出循环,这就是你的循环错误的地方(而且你的代码说“x > 5”,这意味着“x大于5”,与你的输出显示“小于 5”)。
- 每次迭代后都会发生一些事情,通常会将 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
关于java - 如何在数组中查找大于、小于或等于某个值的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26558397/