argm[i] = argm[argm.length - i];
这个代码出现数组超界当i=0的时候 argm[0]=armg[argm.length]??
应该是argm[i] = argm[argm.length - i-1];

解决方案 »

  1.   

    注意,因为new ReverseInt(test);传入的test是长度为10的一维数组,也就是进入
    ReverseInt(int[] argm){  后,能引用的下标最大的数组元素是argm[9]。
    进入循环
          while(i < (argm.length / 2)){
    后,由于第一次进入时i是0,而argm.length / 2是5,所以进入循环,
       而 k = argm[i];                     等价于 k = argm[0];
          argm[i] = argm[argm.length - i]; 等价于 argm[0] = argm[10]; 
    就是这个 argm[10] 导致了数组越界,所以出错。