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

求助:无需预先指定数量的未知大小数组多用户输入实现

嘿,这个需求太贴近实际使用场景了!谁愿意先费劲数自己要输入多少内容啊?直接让用户输入到不想输为止才是最友好的方式对吧?下面我给你几个主流编程语言的具体实现方案,核心思路都是用动态扩容的容器来替代固定大小的数组,完全不用提前指定长度:


Python 实现

Python的list本身就是动态数组,天生支持自动扩容,简直完美适配你的需求。我们可以让用户持续输入内容,直到输入特定的终止信号(比如空行、输入exit或者按Ctrl+D):

user_inputs = []
print("请输入内容,输入空行结束:")
while True:
    content = input().strip()
    if not content:  # 空行触发终止
        break
    user_inputs.append(content)

print("你输入的内容已存入数组:")
print(user_inputs)

这段代码会不断接收用户输入,每输入一条就添加到列表里,直到用户敲回车输入空内容,列表的大小会自动跟着输入数量变化。


JavaScript(Node.js 环境)

在Node.js里,我们可以通过监听标准输入来实现同样的效果,用普通数组来存储,数组会自动扩容:

const readline = require('readline');
const userInputs = [];

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

console.log("请输入内容,输入'exit'结束:");
rl.on('line', (input) => {
    if (input.trim().toLowerCase() === 'exit') {
        rl.close();
        return;
    }
    userInputs.push(input.trim());
});

rl.on('close', () => {
    console.log("你输入的内容已存入数组:");
    console.log(userInputs);
});

用户每输入一行就会被添加到数组里,输入exit就停止,数组的长度完全由输入数量决定。


Java 实现

Java的普通数组是固定长度的,但我们可以用ArrayList(本质是动态扩容的数组实现)来解决问题,它会在容量不足时自动扩容:

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

public class DynamicInputArray {
    public static void main(String[] args) {
        ArrayList<String> userInputs = new ArrayList<>();
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("请输入内容,输入空行结束:");
        while (true) {
            String content = scanner.nextLine().trim();
            if (content.isEmpty()) {
                break;
            }
            userInputs.add(content);
        }
        
        scanner.close();
        System.out.println("你输入的内容已存入数组:");
        System.out.println(userInputs);
        // 如果需要转成普通数组,可以用下面的代码
        // String[] inputArray = userInputs.toArray(new String[0]);
    }
}

ArrayList会自动管理容量,你只需要不断往里面加元素就行,最后如果需要普通数组,还可以用toArray方法转换。


总结一下,核心就是用语言自带的动态容器类型(Python的list、Java的ArrayList、JS的Array),它们都支持自动扩容,完全不用提前指定大小,完美匹配你的需求!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:19:59