我试图输出小于 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”)
- 一个中断条件,如果它是 true 我们退出循环,这就是你的循环错误的地方(你的代码也说“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 if-声明,如果是则打印它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)