Java中数组中的命令行参数
我是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
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很高兴我能帮忙。别忘了。