本帖最后由 caijunsong 于 2014-3-29 16:26 编辑
- public class VariableParameter {
- public static void main(String[] agrs){
- //System.out.println(<FONT color=red>add(2,3));</FONT>
- System.out.println<FONT color=red>(add(2,5))</FONT>;
- }
- public static int add (int x,int... args){
- int sum=0;
- for(int i=0;i<args.length;i++){
- <FONT color=red>sum+=args[1];
- </FONT> }
- return sum;
- }}
复制代码
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
这个异常 一眼就能看出来是数组越界了 那么你仔细观察下你的数组下
你看看我给你标注红色的代码那 add可以接受多个参数,比如add(2,5);
2给了x,5给了args[0],数组是以0起始的,而你下面sum+=agrs[1];,agrs[1],是没有东西的怎么加啊
解决方法把agrs[1]改成那个agrs[0]或者在add中传三个参数,就ok!! |