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

如何用Shell脚本从控制台输入多值并赋值给数组以遍历?

在控制台输入多值赋值数组并通过foreach遍历

嘿,这事儿其实挺容易实现的,我给你用两种常用编程语言写了示例,看完就能上手:

C# 实现方案

我们可以先读取控制台输入的整行内容,按空格分割成字符串数组,再转换成数值类型数组,之后就能用foreach轻松遍历了:

// 读取控制台输入的一行内容,按空格分割(自动忽略多余空格)
string[] inputStrArr = Console.ReadLine().Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries);
// 把字符串数组转成int类型数组
int[] arr = Array.ConvertAll(inputStrArr, int.Parse);

// 用foreach循环遍历输出数组内容
Console.WriteLine("遍历到的数组元素:");
foreach (int num in arr)
{
    Console.WriteLine(num);
}

小提示:StringSplitOptions.RemoveEmptyEntries这个参数很有用,能避免用户输入多个空格时产生空的数组元素,让程序更严谨。

Java 实现方案

Java的思路和C#差不多,用Scanner来读取输入,处理逻辑如下:

import java.util.Scanner;

public class ArrayInputDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 读取整行输入,用正则匹配一个或多个空白字符分割
        String[] inputStrArr = scanner.nextLine().split("\\s+");
        // 初始化int数组并完成类型转换
        int[] arr = new int[inputStrArr.length];
        for (int i = 0; i < inputStrArr.length; i++) {
            arr[i] = Integer.parseInt(inputStrArr[i]);
        }

        // foreach循环遍历数组
        System.out.println("遍历到的数组元素:");
        for (int num : arr) {
            System.out.println(num);
        }
        scanner.close();
    }
}

额外提醒

  • 如果需要其他数值类型(比如double),只需要把对应的转换方法换掉就行,比如C#里用double.Parse,Java里用Double.parseDouble。
  • 要是担心用户输入非数字导致程序崩溃,可以加个异常处理逻辑,比如C#用int.TryParse逐个验证转换,Java用try-catch包裹转换步骤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:13:08