运行java jar时整数数组作为参数
Posted
技术标签:
【中文标题】运行java jar时整数数组作为参数【英文标题】:integer array as arguments while running java jar 【发布时间】:2015-11-24 17:44:29 【问题描述】:我有一个简单的问题。我如何在运行 java -jar sample.jar 时将整数数组作为参数传递。整数数组是我的输入。
还有一些其他选项,例如将数组作为逗号分隔值(如 1、2、3)传递,并将字符串值转换为 java 中的整数数组。
我想知道是否还有其他选择。 感谢您的帮助!
【问题讨论】:
【参考方案1】:不,真的没有其他选择。命令行参数只是 作为文本传递。某些代码必须在某处将它们解析为整数。
有多种第三方库可用于解析命令行,但您的入口点肯定会有一个String[]
参数。如果所有您需要的是int[]
,我只需将每个String
转换为int
。在 Java 8 中,这非常简单:
import java.util.Arrays;
public class Test
public static void main(String[] args)
int[] array = Arrays.stream(args).mapToInt(Integer::parseInt).toArray();
// Just for example
for (int value : array)
System.out.println(value);
【讨论】:
java Test 1 2 3 e 5
哎呀
@***soft:是的,如果你没有传入有效的数字,它就会崩溃。对我来说似乎很合理。【参考方案2】:
命令行参数是文本。您可以将它们作为逗号分隔的列表传递,您可以传递。或者您可以传递一个文件名,其中包含以文本或二进制形式保存的信息。
【讨论】:
感谢您的帮助!!【参考方案3】:最好要求用户使用类似这样的方式提供该参数
For(int i<0; i<ARRAYSIZE; i++)
Scanner reader = new Scanner(System.in);
System.out.println("Enter the number :");
array[i] = reader.nextInt();
参数通常用于配置程序执行。
【讨论】:
以上是关于运行java jar时整数数组作为参数的主要内容,如果未能解决你的问题,请参考以下文章
用JAVA语言编译:数组中包含n个整数,从其中找出k个最小的数,写出你能想到的最快的方法!!!