温迪的小花 2019-03-27 19:31 采纳率: 0%
浏览 379

求助、、看不出哪里数组越界了??

public void reOrderArray(int [] a) {
int i=0;
int j=0;
int l=a.length;
while(i<l&&j<l){
while(a[i]%2==1)
i++;
while(a[j]%2==0)
j++;
if(i<j&&i<l&&j<l)
swap(a,i,j);
else
j++;
}
}
public void swap(int[] a,int i,int j){
int tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}


  • 写回答

1条回答 默认 最新

  • 温迪的小花 2019-03-27 19:40
    关注

    懂了!在while循环里的两个小while循环内也应该加入i<l和j<l的判断。因为判断的时候越界也会报错

    评论

报告相同问题?