You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java使用for循环实现数组奇偶排序时输出编号混乱问题解决

问题原因

你当前代码的问题出在两方面:

  • 输出「Arranged Elements」时直接用了原始数组的下标y作为编号,原始数组下标从0开始,所以首先就出现了编号为0的错误
  • 你的逻辑是遍历原始数组筛选偶数、奇数先后输出,但编号直接复用了元素在原始数组的下标,自然会跟着原始位置错乱,没有按输出的先后顺序生成新编号。

解决方法

新增一个独立的计数器变量,专门统计「Arranged Elements」的输出序号,每次输出后自增即可,无需改动原数组的存储逻辑。

修改后的完整代码如下:

import java.util.*;
public class Main {
   public static void main(String[] args)
   {
     Scanner x = new Scanner (System.in);
     System.out.print("Enter the number of elements: ");
     int elements = x.nextInt();

     int a[]= new int[elements];
     for(int y=0;y<a.length;y++)
     {
        System.out.print("Element #"+(y+1)+": ");
        a[y]=x.nextInt();
     }

     System.out.println("");
     System.out.println("Arranged Elements:");
     // 新增输出序号计数器,从1开始
     int seq = 1;

     for(int y=0;y<a.length;y++)
     {
        if(a[y]%2==0)
        {
           // 用计数器作为编号,而非原始数组下标
           System.out.println("Element #"+seq+": "+a[y]);
           seq++;
        }

     }

     for(int y=0;y<a.length;y++)
     {
         if(a[y]%2!=0)
         {
            System.out.println("Element #"+seq+": "+a[y]);
            seq++;
         }
     }
     
   }      
}

运行后即可得到你期望的输出效果。

内容的提问来源于stack exchange,提问作者user17219479

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 05:06:04