【发布时间】:2019-04-11 21:06:03
【问题描述】:
我在打印数组时无法获得正确的输出。基本上我要做的是在 main 方法中设置一个数组,然后将该数组发送到另一个方法,该方法会打印出如下内容:
89 12 33 7 72 42 76 49
69 85 61 23
右边有 3 个空格,并在第 8 个数字之后开始新的打印行。看起来很容易,但我得到了这样的东西。
89
69 85 61 23
由于某种原因,它不会打印出位置 1 和 7 之间的值。这就是我所拥有的。
public class Test
{
public static void main (String [] args)
{
int [] myInches = {89,12,33,7,72,42,76,49,69,85,61,23};
printArrayValues(myInches);
}
public static void printArrayValues(int [] myInchesParam) {
for (int i = 0; i < 8; i++) {
System.out.print(" " + myInchesParam[i]);
System.out.println();
for (i = 8; i < 12; i++) {
System.out.print(" " + myInchesParam[i]);
}
}
}
}
我应该改用 do-while 吗?或者我仍然可以使用 for 循环来做,而我只是做错了吗?
【问题讨论】:
-
您在内部循环中将
i重置为 8。 -
你的 8-11 循环在 inside 你的 0-7 循环,并且使用相同的循环变量。
-
使用
}在第二个循环开始之前关闭第一个循环。 -
将内部
for循环移动到第一个循环之后。或者,摆脱内部for循环,让外部循环遍历所有值,并且仅在i % 8 === 7时使用System.out.println。 -
在第二个 for 循环中使用另一个变量,
i已在第一个循环中定义