我正在尝试将数组拆分为奇数和偶数.请注意,在最终结果中排序数字无关紧要.我正在编译代码,输出包含一些bug.我的代码正确排列奇数,而偶数给我一些麻烦. COuld smb请帮我解决偶数的问题?提前致谢!

基本上,我在数组的左侧排列奇数,并在开头有oddPos = 0;偶数位于右侧,定位从数组的最后开始evenPos = myArray.length – 1.

public class EvenOddArray {

public static void main(String[] args){

int[] myArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

int oddPos = 0;

int evenPos = myArray.length - 1;

for(int i = 0; i < myArray.length; i++){

if(myArray[i] % 2 == 0){

myArray[evenPos] = myArray[i];

evenPos--;

}

else{

myArray[oddPos] = myArray[i];

oddPos++;

}

}

for(int i = 0; i < myArray.length; i++){

System.out.print(myArray[i] + " ");

}

}

}

输出:

1 3 5 7 2 4 6 6 4 2

解决方法:

实际上你正在编辑同一个myArray数组,同时从中读取它.那么会发生什么,

在循环的第6次迭代中,将6插入myArray [7]位置.因此,在第7次迭代期间,当您读取myArray [7]时,它是6.不是8.因为,在上一次迭代中,您已经用8写了6.

因此,使用单独的数组来保存结果.希望你明白这一点.

你可以这样做,

int[] myArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

int[] resultArray = new int[myArray.length];

int oddPos = 0;

int evenPos = myArray.length - 1;

for(int i = 0; i < myArray.length; i++){

if(myArray[i] % 2 == 0){

resultArray[evenPos] = myArray[i];

evenPos--;

}

else{

resultArray[oddPos] = myArray[i];

oddPos++;

}

}

标签:java,arrays

来源: https://codeday.me/bug/20190528/1169592.html

java数组查找奇数_java – 在数组中对偶数和奇数进行排序相关推荐

  1. java mongo 日期范围_java – 在mongodb中按日期对值排序

    我是mongodb的新手,我正在尝试按日期对所有行进行排序.我有混合来源的记录,我试图分开排序.某些记录在写入db时我没有更新dateCreated.后来我发现并将dateCreated添加到db中的 ...

  2. java的数组查找算法_java数组、排序算法、查找算法详解

    1.为什么定义数组要采用type[] arrayName;这种方式? 因为这种方式具有很好的可读性,使用这种方式很容易就可以理解这是定义一个变量,其中变量名是arrayName,变量的类型是type[ ...

  3. java数组是不是对象_java的数组是对象吗

    数组是对象哦.数组的父类也是Object,每个数组都实现了接口Cloneable and java.io.Serializable.java中数组的创建使用了关键字new,虽然格式和普通的类创建的方式 ...

  4. java创建数组的方式_Java创建数组的几种方式总结

    1.一维数组的声明方式: type[] arrayName; 或 type arrayName[]; 附:推荐使用第一种格式,因为第一种格式具有更好的可读性,表示type[]是一种引用类型(数组)而不 ...

  5. java类和对象数组传参_java对象,数组作为参数传递给

    java 学习笔记 ( 四 )---- 对象.数组作为参数传递,静态变量.静态方法的使用, 内部类,使用文档注释 2009-10-15 20:21 ***对象作为参数传递*** class passp ...

  6. java数组定义错误_JAVA定义数组 int a[]=new int[100000] 错误

    我用JAVA定义了一个1W的数组可以使用,但是定义一个10W的数组提示Exceptioninthread"main"java.lang.ArrayIndexOutOfBoundsE ...

  7. java二分查找法_java算法之二分查找法的实例详解

    java算法之二分查找法的实例详解 原理 假定查找范围为一个有序数组(如升序排列),要从中查找某一元素,如果该元素在此数组中,则返回其索引,否则返回-1.通过数组长度可取出中间位置元素的索引,将其值与 ...

  8. java 设置excel颜色_Java 为 Excel 中的行设置交替背景色

    在制作 Excel表格 时, 通过 将 数据表中上下 相邻的两行用不同的背景色填充 ,可以使 各行的数据看起来更清楚 ,避免 看错行 ,同时也能增加 Excel 表 格的美观度 . 本文 将 介绍 如 ...

  9. java字符串去掉中文_Java——去除字符串中的中文

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class RemoveStrChinese { priv ...

  10. java list 内存释放_java集合ArrayList中clear方法内存释放分析

    最近在看ArrayList源码的时候看到了ArrayList的clear方法,源码如下: public void clear() { modCount++; // clear to let GC do ...

最新文章

  1. “重构”黑洞:26岁MIT研究生的新算法 | 人物志
  2. 建立ghost备份后,找不到gho文件
  3. php mysql table_关于php:MySQL Table不存在错误,但确实存在
  4. linux内核设计与实现看不懂,Linux内核设计与实现读书笔记
  5. 命令获取计算机信息,教你怎么在windows上用命令查看系统信息
  6. 机器学习笔记(十一)——逻辑回归
  7. 此图片来自微信公众平台未经允许不可引用
  8. “手把手教你学linux驱动开发”OK6410系列之02---虚拟字符设备
  9. 一加8渲染图曝光:后置三摄/五种配色可选
  10. html获取文件路径_HTML 文件路径
  11. ios build lame
  12. 《HTML CSS JavaScript 网页制作从入门到精通 第3版》—— 2.8 其他标记
  13. gpt2 代码自动补全_如果您认为GPT-3使编码器过时,则您可能不编写代码
  14. 苹果a7处理器_苹果历代cpu性能对比
  15. 树莓派是什么?能干什么?
  16. 世界各个国家及其国家代码
  17. 第16章Stata面板数据分析
  18. 计算机视觉教程2-7:天使与恶魔?图文详解图像形态学运算(附代码)
  19. 创意简约中国风新年快乐牛年大吉通用PPT模板
  20. 一杯苦咖啡 公司来了个漂亮女实习程序员

热门文章

  1. 解决qrcode生成的二维码微信长按不识别问题
  2. libjpeg 库的安装
  3. JSON和byte[]
  4. VS编译release版本的出现的LNK1104 无法打开文件“libboost_filesystem-vc140-mt-1_58.lib
  5. PTrade交易数据更新——从零到实盘17
  6. 微信小程序网络请求之设置合法域名后不显示oss、cos的图片问题
  7. android 正在检查更新,关于在app启动android上检查更新的新手问题
  8. 视频剪辑需要专门报班去学吗?
  9. 开源机器人控制软件OROCOS
  10. chrome插件draw.io代替visio成为流程图架构图制作新的利器