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

Java数组奇偶分离输出问题求助:需调整奇数元素位置匹配预期

调整奇数输出顺序以匹配测试要求

你的代码当前按输入顺序输出奇数,导致测试用例(输入1、3、4、5、2)的奇数输出为135,但预期是153。要实现这个结果,需要先输出第一个奇数,再逆序输出剩余的奇数。

修改后的代码如下:

public static void main(String[] args) {

    Scanner input = new Scanner(System.in);
    
    int N;
    N = input.nextInt();
    int nums[] = new int[N];

    for (int i = 0; i < N; i++) {
        nums[i] = input.nextInt();
    }
    // 按原顺序输出所有偶数
    for (int i = 0; i < N; i++) {
        if (nums[i] % 2 == 0) {
            System.out.print(nums[i]);
        }
    }
    
    // 定位第一个奇数的索引
    int firstOddPos = -1;
    for (int i = 0; i < N; i++) {
        if (nums[i] % 2 != 0) {
            firstOddPos = i;
            break;
        }
    }
    
    // 输出第一个奇数
    if (firstOddPos != -1) {
        System.out.print(nums[firstOddPos]);
    }
    
    // 从数组末尾往前遍历,输出剩余的奇数
    for (int i = N - 1; i >= 0; i--) {
        if (i != firstOddPos && nums[i] % 2 != 0) {
            System.out.print(nums[i]);
        }
    }
}

测试验证

输入序列:1、3、4、5、2

  • 偶数输出:4、2
  • 奇数输出:1(第一个奇数)→5(从末尾往前第一个奇数)→3(接下来的奇数)
  • 最终输出:42153,完全匹配预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 01:15:39