使用for循环打印数组

时间:2013-12-11 15:50:44

标签: java arrays for-loop printing

我已经构建了一个包含10个复数7的数组,现在我尝试使用for循环以相反的顺序打印它。但我的程序似乎忽略了这段代码。我没有问题按常规顺序打印,每个循环使用for或a。 这段代码有什么问题?

int[] numbers = new int[10];
for (int i = 0; i < numbers.length; i++) {
     numbers[i] = (int) (Math.random() * 10) * 7;
}
for (int i = numbers.length; i == 0; i--) {
     System.out.println(numbers[i]);
}
System.out.println("---");
for (int i = 0; i < numbers.length; i++) {
     System.out.println(numbers[i]);
}

2 个答案:

答案 0 :(得分:3)

java中大小为N的数组的索引范围为0到 N-1 。所以实际上numbers.length超出范围 - numbers中的最后一个元素是索引numbers.length - 1。同样不是你的条件应该是i >= 0而不是i==0,否则你的周期永远不会对大于1的数组执行。

答案 1 :(得分:1)

应该是

for (int i = numbers.length - 1; i >= 0; i--) {

在你的逆序循环中。