Java 使用for循环打印数组
我已经构建了一个包含10个7的复数的数组,现在正尝试使用for循环以相反的顺序打印它。但是我的程序似乎忽略了这段代码。我没有问题以常规顺序打印它,每个循环使用for或for。 这段代码有什么问题Java 使用for循环打印数组,java,arrays,for-loop,printing,Java,Arrays,For Loop,Printing,我已经构建了一个包含10个7的复数的数组,现在正尝试使用for循环以相反的顺序打印它。但是我的程序似乎忽略了这段代码。我没有问题以常规顺序打印它,每个循环使用for或for。 这段代码有什么问题 int[] numbers = new int[10]; for (int i = 0; i < numbers.length; i++) { numbers[i] = (int) (Math.random() * 10) * 7; } for (int i = numbers.leng
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]);
}
int[]数字=新的int[10];
for(int i=0;i
应该是
for(inti=numbers.length-1;i>=0;i--){
在反向顺序循环中。应该是
for(inti=numbers.length-1;i>=0;i--){
在您的反向顺序循环中。java中大小为N的数组的索引范围为0到N-1。因此事实上
数字。长度是不受限制的-数字中的最后一个元素是索引数字。长度-1
。您的条件也不应该是i>=0
,而不是i==0
,否则,对于大小大于1的数组,您的循环将永远不会执行。java中大小为N的数组的索引范围为0到N-1。因此,事实上numbers.length
是超出范围的-numbers
中的最后一个元素是indexnumbers.length-1
。您的条件也不应如此请选择i>=0
而不是i==0
,否则,对于大小大于1的数组,您的循环将永远不会执行。在第二个循环中,您想要的myabe:(int i=numbers.length;i>0;i--)在第二个循环中,您想要的myabe:(int i=numbers.length;i>0;i--)请再看一看这个循环。还有一个错误会阻止它正确运行。我确实忘记了“-1”,但我现在已经将它添加到代码中,它仍然没有打印任何内容。我不明白为什么这个程序会忽略这段代码。它也没有显示我的任何错误。@YoNuevo看看我的答案,你知道吗uld还可以将i==0
替换为i>=0
。请重新查看该循环。还有一个错误会阻止它正确运行。我确实忘记了“-1”,但我现在已将其添加到代码中,它仍然不打印任何内容。我不明白此程序为什么忽略这段代码。它不显示my也有错误。@YoNuevo看看我的答案,你也应该用i>=0
替换i==0
。谢谢!我知道数组大小和索引范围,但我完全忘记了在代码中考虑它。Netbeans也没有显示任何错误,java在我运行它时也没有显示任何错误。我以前确实做过这个练习(但将代码留在了其他地方)当时没有任何问题。现在拥有它们非常令人沮丧!我不知道这些条件。@YoNuevo我认为更重要的是理解为什么这些条件是这样的。如果您了解for循环是如何工作的,那么调试您自己的代码将更容易。谢谢!我知道数组大小和索引范围,但我完成了我忘记在我的代码中考虑它了。Netbeans也没有向我显示任何错误,java在我运行它时也没有显示任何错误。我以前确实做过这个练习(但将代码放在了其他地方)当时没有任何问题。现在拥有它们非常令人沮丧!我不知道这些条件。@YoNuevo我认为更重要的是理解为什么这些条件是这样的。如果您了解for循环是如何工作的,那么调试您自己的代码将更容易。