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

如何将一维数组转为可用二维数组?编程作业求助

问题分析与修复方案

你的代码存在几个核心问题,导致无法编译和正确运行:

1. 数组声明错误

你错误使用了长度为0的二维数组(new int[0][7]),这类数组无法存储任何数据。而且统计数字出现次数不需要二维数组,用一维数组就能完成需求。

2. 输入逻辑完全失效

你的输入循环只是反复创建空数组,根本没有读取用户输入的数字并存储:

for(i=0;i<7;i++)
    numbers = new int [0][7];

这段代码完全没有调用input.nextInt()获取输入,等于无效操作。

3. 统计逻辑错误

  • 二维数组的numbers[i]是一个一维数组,直接用==比较两个数组是比较内存地址,不是数值;
  • 没有实现“统计次数”的核心逻辑,只是简单赋值,count数组也从未被赋值。

修正后的代码

import java.util.Scanner;

public class NumberCounter {
    public static void main(String[] args) {
        System.out.println("Ashanti's Assignment");
        // 用一维数组存储输入的7个数字
        int[] numbers = new int[7];
        // 存储去重后的数字
        int[] digits = new int[7];
        // 存储对应数字的出现次数
        int[] count = new int[7];
        int uniqueCount = 0;

        Scanner input = new Scanner(System.in);
        System.out.println("Enter seven numbers: ");

        // 读取7个输入数字存入numbers数组
        for (int i = 0; i < 7; i++) {
            numbers[i] = input.nextInt();
        }

        // 去重并统计次数
        for (int i = 0; i < 7; i++) {
            boolean isExist = false;
            // 检查当前数字是否已在去重数组中
            for (int j = 0; j < uniqueCount; j++) {
                if (numbers[i] == digits[j]) {
                    count[j]++;
                    isExist = true;
                    break;
                }
            }
            // 不存在则加入去重数组,初始化次数为1
            if (!isExist) {
                digits[uniqueCount] = numbers[i];
                count[uniqueCount] = 1;
                uniqueCount++;
            }
        }

        // 输出结果
        System.out.println("The integers selected and their counts");
        for (int i = 0; i < uniqueCount; i++) {
            System.out.println("Number " + digits[i] + " occurs " + count[i] + " times");
        }

        input.close();
    }
}

关键修复点说明

  • 将所有二维数组改为一维数组,贴合需求场景;
  • 新增输入读取逻辑,真正把用户输入存入数组;
  • 实现去重+统计的核心逻辑:遍历输入数组,检查每个数字是否已存在于去重数组中,存在则次数加1,不存在则新增并初始化次数为1;
  • 用uniqueCount记录去重后的数字数量,避免输出空的无效数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 02:45:19