Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将数组从脚本传递到main(args[])_Java_Arrays_Bash_Shell - Fatal编程技术网

Java 如何将数组从脚本传递到main(args[])

Java 如何将数组从脚本传递到main(args[]),java,arrays,bash,shell,Java,Arrays,Bash,Shell,我正在编写一个脚本,从用户那里获取一些输入。现在我有3个变量:2个字符串和一个数组。我能够将我的2个字符串传递到main,但我不知道如何将数组与其他字符串一起传递 这就是我现在拥有的 java $myJava $var1 $var2 $array Java的main只接受一个字符串数组,所以var1和var2工作得很好,但是如何传入由用户输入的数量可变的数组呢?有没有一种方法可以将我的数组转换为许多变量,然后将其传递到main中?如果$array是一个实际的Bash数组(例如,它是使用声明-a

我正在编写一个脚本,从用户那里获取一些输入。现在我有3个变量:2个字符串和一个数组。我能够将我的2个字符串传递到main,但我不知道如何将数组与其他字符串一起传递

这就是我现在拥有的

java $myJava $var1 $var2 $array

Java的main只接受一个字符串数组,所以var1和var2工作得很好,但是如何传入由用户输入的数量可变的数组呢?有没有一种方法可以将我的数组转换为许多变量,然后将其传递到main中?

如果
$array
是一个实际的Bash数组(例如,它是使用
声明-a array
或另一个Bash数组创建技术声明的),那么您只需要这样做

java $myJava "$var1" "$var2" "${array[@]}"
这将把数组提取到多个位置参数中,这样传递到
main
中的
args
数组将

{ var1 , var2 ,  array[0] , array[1] , array[2] , ... }

如果
$array
是一个实际的Bash数组(例如,它是使用
declare-a array
或其他Bash数组创建技术声明的),那么您只需要

java $myJava "$var1" "$var2" "${array[@]}"
这将把数组提取到多个位置参数中,这样传递到
main
中的
args
数组将

{ var1 , var2 ,  array[0] , array[1] , array[2] , ... }

Java的main也接受varargs
main(String…args)
。。。复制到另一个array@Gendarme是的,但这如何解决OP的问题?用varargs语法拼写
main()
方法的签名实际上并不会改变它所呈现的界面。@约翰伯林格我不确定OP要求的是什么,但由于他提到了“可变输入数”,我认为varargs可能会有所帮助。@宪兵同样如此,OP可以使用任何适用的迭代方法。
args[]
的长度不是固定的。Java的main也接受varargs
main(String…args)
。。。复制到另一个array@Gendarme是的,但这如何解决OP的问题?用varargs语法拼写
main()
方法的签名实际上并不会改变它所呈现的界面。@约翰伯林格我不确定OP要求的是什么,但由于他提到了“可变输入数”,我认为varargs可能会有所帮助。@宪兵同样如此,OP可以使用任何适用的迭代方法。
args[]
的长度不是固定的。