我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

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

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;
}


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

近期文章

  • 数据预处理,大家快来看看怎么搞?
  • C语言小测试题,刚入门
  • C++ if后面不能输出
  • webservice调用服务出现的问题
  • scanf那一行有错误,但不知道哪里错误
  • 关于MATLAB的一个程序算法
  • 批处理是乱码,怎么解决?
  • 使用jenkins拉取gitlab代码并进行打包操作失败
  • postman或jmeter当前接口的路径是上个接口的返回值,每次点击当前这个接口,因为路径一直会变,所以接口要怎么测呢?
  • 求写下代码,并每行添加注释
  • 51单片机lcd1602的keil代码报错
  • 关于一个MATLAB的一个程序和算法
  • 总是运行不对,不知道哪里错了求解
  • 请问这个为什么是零啊
  • C语言-8-最小公倍数
  • Java spring里需要充网页上将一个String类型数据转换成int类型的数据如何操作呀
  • Tomcat无法配置成功,希望各位帮助一下
  • 设置图片放大,超出图片所在盒子部分隐藏,为什么右边部分没隐藏?
  • 一系列关于matlab的问题,请帮帮我,真的不理解
  • create-react-app安装react项目,yurn一直报错

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华