import java.util.Random;
public class RandomWithArray {
public static void main(String[] args){
Random r = new Random();
int[] num = new int[5]; //same as "= {0,0,0,0,0}
for (int i = 0; i <num.length; i++){
num[i] = r.nextInt(100) + 1;
}
System.out.println(num[i]);
}
}
Run Code Online (Sandbox Code Playgroud)
Eclipse在打印线上告诉我,
Multiple markers at this line
- i cannot be resolved to a variable
- Line breakpoint:RandomWithArray [line: 14] -
main(String[])
Run Code Online (Sandbox Code Playgroud)
究竟我做错了什么?
因为i在for循环中声明,并且您正在使用它超出范围.
变量的范围i仅限于for块.
如果要遍历数组,则可以使用
for (int i = 0; i <num.length; i++){
System.out.println(num[i]);
}
Run Code Online (Sandbox Code Playgroud)
或者,你也可以使用增强的for循环,它特别用于迭代数组和arraylists,
for(int i : num){
System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)
这样您就不必自己处理增量和索引变量.