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

Java筛选随机数中的奇数并存入新数组的代码问题求助

代码问题梳理与修正方案

你的代码目前有几个核心问题,导致无法实现"筛选随机数中的奇数并存入新数组"的需求:

  • 没有对生成的随机数做奇数判断,直接打印了所有随机数,完全没完成筛选逻辑
  • t[i] = 2 * i + 1;这行代码完全错误,它不是筛选已有随机数里的奇数,而是把原数组元素替换成了一个固定奇数序列,完全偏离需求
  • 新数组长度硬编码为8,无法适配不同输入下的奇数数量(比如输入5时可能只有2个奇数,输入1000时可能有几百个)

下面是修正后的完整代码,每一步都贴合你的需求:

import java.util.Scanner;

public class Array {
    public static void main(String[] args) {
        System.out.print("Please enter number : ");
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        int[] randomNumbers = new int[n];
        
        // 第一步:生成n个0-998的随机数存入原数组
        for (int i = 0; i < randomNumbers.length; i++) {
            randomNumbers[i] = (int)(Math.random() * 999);
        }
        
        // 第二步:先统计原数组中奇数的数量,为新数组确定长度
        int oddCount = 0;
        for (int num : randomNumbers) {
            if (num % 2 != 0) { // 判断奇数:对2取余不等于0
                oddCount++;
            }
        }
        
        // 第三步:创建对应长度的新数组,筛选并存储奇数
        int[] oddNumbers = new int[oddCount];
        int currentIndex = 0;
        System.out.println("These are the generated Odd numbers : ");
        for (int num : randomNumbers) {
            if (num % 2 != 0) {
                System.out.println(num); // 打印符合条件的奇数
                oddNumbers[currentIndex++] = num; // 将奇数存入新数组
            }
        }
        
        // 可选:验证新数组的存储结果(不需要可以删除这段)
        System.out.println("\nStored odd numbers in new array:");
        for (int odd : oddNumbers) {
            System.out.print(odd + " ");
        }
        
        input.close(); // 关闭Scanner,避免资源泄漏
    }
}

关键改动说明

  • 变量命名优化:把t改成randomNumbers,array改成oddNumbers,让代码可读性更强
  • 添加奇数判断逻辑:用num % 2 != 0准确判断奇数,只有满足条件的数才会被打印和存入新数组
  • 动态确定新数组长度:先遍历原数组统计奇数数量oddCount,再创建对应长度的新数组,避免硬编码长度的适配问题
  • 移除错误代码:删掉了t[i] = 2 * i + 1;这行完全不符合需求的代码
  • 资源清理:添加input.close();关闭Scanner,养成良好的编码习惯

测试示例(输入5):

Please enter number : 5
These are the generated Odd numbers : 
131
685

Stored odd numbers in new array:
131 685 

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:06:59