Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.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中数组中的命令行参数_Java_Arrays - Fatal编程技术网

Java中数组中的命令行参数

Java中数组中的命令行参数,java,arrays,Java,Arrays,我是Java的初学者,我有一个关于在数组中使用命令行参数的问题,例如,我尝试键入: double []a=Double.parseDouble(args[0]); 然而,它说“无法将双精度转换为双精度”,我无法像我所能做的那样理解它 double a=Double.parseDouble(args[0]); 那么,在数组中使用CL参数输入有什么问题呢?谢谢,它必须是一个被赋值的数组 e、 g 然而,它说“无法将双精度转换为双精度”,我无法像我所能做的那样理解它 double a=Double

我是Java的初学者,我有一个关于在数组中使用命令行参数的问题,例如,我尝试键入:

double []a=Double.parseDouble(args[0]);
然而,它说“无法将双精度转换为双精度”,我无法像我所能做的那样理解它

double a=Double.parseDouble(args[0]);

那么,在数组中使用CL参数输入有什么问题呢?谢谢,它必须是一个被赋值的数组

e、 g

然而,它说“无法将双精度转换为双精度”,我无法像我所能做的那样理解它

double a=Double.parseDouble(args[0]);
它实际上说的是“不能将
double
转换为
double[]
”。
[]
对于错误消息的含义至关重要。。。你不应该忽视它

它告诉您不能将
double
视为
double
的数组


如果要初始化一个
double[]
,需要首先分配一个
double
数组;e、 g

double [] a = new double[1];
a[0] = Double.parseDouble(args[0]);
或者你可以用一句话来表达:

double [] a = new double[]{Double.parseDouble(args[0])};
甚至

double [] a = {Double.parseDouble(args[0])};
简单地说,返回一个
double
,而不是
double[]
,因此不能将其分配给
double[]
类型的变量

如果要将
args
中的所有字符串转换为
double
s,可以尝试以下操作

double[] a = new double[args.length];
for (int i = 0; i < args.length; i++) {
    a[i] = Double.parseDouble(args[i]);
}
double[]a=新的双精度[args.length];
对于(int i=0;i

当然,如果您只需要
args[0]
,则将解析后的
double
存储在第二个代码段中;在这种情况下使用数组没有多大意义。

Double.parseDouble(args[0])
返回一个值,而不是数组。你不能将
Double
分配给
Double[]
数组。当你想知道一个方法的作用时,请查阅它的javadoc:谢谢大家,如果我想在数组中进行命令行输入,我该怎么写呢,很appreciated@user2711992很高兴我能帮忙。别忘了。