本帖最后由 wyl530274554 于 2012-6-30 09:33 编辑
public class VariableParameter {
public static void main(String[] args) {
//add(2,6,4);
add(3,5,7,8);
}
public static void add(int x, int... args) {
int sum = x;
//for(int i=0; i<args.length; i++) { //这样可以
for(int j : args) { //用高级for就出错,提示在下面 //原来这里的 j 就代表那数组里的每一个元素,而不是数组元素的下标值
sum += args[j];
}
System.out.println("Sum = " + sum);
}
}
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 //想不通!
at cn.itcast.melon.VariableParameter.add(VariableParameter.java:13)
at cn.itcast.melon.VariableParameter.main(VariableParameter.java:6)
请问原因何在? |
|