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

Java中如何显示Array数值(含硬编码值)并接收用户输入存入Array

实现代码及说明

核心问题原因

你直接打印数组变量会输出内存地址而非元素内容,需要通过Arrays.toString()或者遍历的方式输出硬编码数组的元素。

完整可运行示例(原始数组方案)

适配你需要的「启动展示硬编码数值+接收用户输入存入」需求,代码如下:

import java.util.Arrays;
import java.util.Scanner;

public class ArrayOperateDemo {
    public static void main(String[] args) {
        // 替换成你自己硬编码的数组内容即可
        int[] hardCodedArray = {2, 7, 15, 23, 39};
        Scanner inputScanner = new Scanner(System.in);

        // 启动时展示已有数组数值
        System.out.println("=== 数组当前已有元素 ===");
        // 最简单的输出方式,直接调用Arrays.toString
        System.out.println(Arrays.toString(hardCodedArray));

        // 接收用户输入存入数组(原始数组定长,示例演示新增3个元素,需要其他数量可自行调整)
        System.out.println("\n请输入3个要存入的整数,用空格分隔:");
        // 复制原数组生成更长的新数组,实现扩容
        int[] expandedArray = Arrays.copyOf(hardCodedArray, hardCodedArray.length + 3);
        for (int i = hardCodedArray.length; i < expandedArray.length; i++) {
            expandedArray[i] = inputScanner.nextInt();
        }

        // 输出存入后的完整数组
        System.out.println("\n=== 新增元素后的完整数组 ===");
        System.out.println(Arrays.toString(expandedArray));
        inputScanner.close();
    }
}

动态长度方案(推荐,用ArrayList)

如果不需要限制新增元素的数量,优先用自动扩容的ArrayList实现,无需手动处理数组扩容逻辑:

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

public class DynamicArrayDemo {
    public static void main(String[] args) {
        // 初始化硬编码元素
        ArrayList<Integer> numList = new ArrayList<>();
        numList.add(2);
        numList.add(7);
        numList.add(15);
        numList.add(23);
        numList.add(39);
        Scanner inputScanner = new Scanner(System.in);

        // 启动时输出已有元素
        System.out.println("=== 数组当前已有元素 ===");
        System.out.println(numList);

        // 支持持续输入,输入-1时结束输入
        System.out.println("\n请输入要存入的整数,输入-1结束输入:");
        while (true) {
            int inputNum = inputScanner.nextInt();
            if (inputNum == -1) {
                break;
            }
            numList.add(inputNum);
        }

        System.out.println("\n=== 新增元素后的完整数组 ===");
        System.out.println(numList);
        inputScanner.close();
    }
}

注意事项

  • 不要直接打印数组变量名,输出的是内存地址而非元素内容
  • 原始数组初始化后长度固定,新增元素需要手动扩容,仅适合长度固定的场景
  • 引入相关工具类前需要补全import语句,否则编译会报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 10:18:01