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

Java如何实现正负数、奇偶数分组及对应数值显示

Java代码修改实现方案

核心问题说明

你现有代码仅对各分组做了数量计数,没有存储每个分组对应的具体数值,因此无法输出对应分组的元素。同时原有逻辑存在小问题:0被计入了正数统计,需要修正。

修改思路

  • 替换原有int类型的计数变量为ArrayList<Integer>集合,用于存储对应分组的所有数值,集合的size()方法可直接获取分组数量,无需单独计数
  • 遍历输入数组时,将符合分组规则的数值添加到对应集合中
  • 输出时直接打印集合即可展示分组内的所有具体数值

修改后的完整代码

import java.util.ArrayList;
import java.util.Scanner;

public class Count {
    public static void main (String[] args) {
        int i,a[] = new int[10];
        // 定义各分组的存储集合
        ArrayList<Integer> negativeList = new ArrayList<>();
        ArrayList<Integer> positiveList = new ArrayList<>();
        ArrayList<Integer> evenList = new ArrayList<>();
        ArrayList<Integer> oddList = new ArrayList<>();
        ArrayList<Integer> zeroList = new ArrayList<>();

        Scanner input = new Scanner(System.in);
        System.out.println("请输入10个整数");
        for(i=0;i<10;i++) {
            System.out.println("输入第"+(i+1)+"个数字:");
            a[i] = input.nextInt();
        }

        for(i=0;i<10;i++) {
            int num = a[i];
            // 负数判断
            if(num < 0) {
                negativeList.add(num);
            } 
            // 正数判断
            else if(num > 0) {
                positiveList.add(num);
            }
            // 零判断
            else {
                zeroList.add(num);
            }

            // 奇偶判断
            if(num % 2 == 0) {
                evenList.add(num);
            } else {
                oddList.add(num);
            }
        }

        // 打印结果
        System.out.println("偶数总数量 = "+ evenList.size());
        System.out.println("偶数列表 = "+ evenList);
        System.out.println("奇数总数量 = "+ oddList.size());
        System.out.println("奇数列表 = "+ oddList);
        System.out.println("负数总数量 = "+ negativeList.size());
        System.out.println("负数列表 = "+ negativeList);
        System.out.println("正数总数量 = "+ positiveList.size());
        System.out.println("正数列表 = "+ positiveList);
        System.out.println("零的总数量 = "+ zeroList.size());
        System.out.println("零列表 = "+ zeroList);
        
        input.close();
    }
}

测试输出效果

使用你提供的测试输入,运行后输出如下:

请输入10个整数
输入第1个数字:
0
输入第2个数字:
0
输入第3个数字:
2
输入第4个数字:
-3
输入第5个数字:
-4
输入第6个数字:
6
输入第7个数字:
9
输入第8个数字:
5
输入第9个数字:
0
输入第10个数字:
9
偶数总数量 = 6
偶数列表 = [0, 0, 2, -4, 6, 0]
奇数总数量 = 4
奇数列表 = [-3, 9, 5, 9]
负数总数量 = 2
负数列表 = [-3, -4]
正数总数量 = 5
正数列表 = [2, 6, 9, 5, 9]
零的总数量 = 3
零列表 = [0, 0, 0]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 11:45:06