Som*_*Guy 1 java arrays foreach
我在第二个打印行中遇到异常.
int num[] = {50,20,45,82,25,63};
System.out.print("Given number : ");
for(int d:num){
System.out.print(" " + num[d]);
}
Run Code Online (Sandbox Code Playgroud)
控制台输出是
Given number : Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 50
Run Code Online (Sandbox Code Playgroud)
为什么不采用所有数组元素而只有50?
在for(int d:num)
循环中,每个项目都表示为d
notnum[d]
所以,这是应该如何做的.
for(int d:num){
System.out.print(" " + d);
}
Run Code Online (Sandbox Code Playgroud)
简单的干运行会告诉你哪里出错了.
对于第一个循环,您的语句将归结为
num[50]
在任何地方都无法使用,因此您将获得异常.
但是,如果您尝试使用索引,那么下面的一个简单技巧就可以解决问题
int index = 0;
for(int d:num){
System.out.print(" " + num[index++]);
}
Run Code Online (Sandbox Code Playgroud)
但老实说,我认为这不是问题的正确解决方案.
归档时间: |
|
查看次数: |
552 次 |
最近记录: |