-2

私は Java の初心者です。コマンド ライン引数を配列で使用する方法について質問があります。たとえば、次のように入力しようとしました。

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

しかし、「doubleをdoubleに変換できません」と言われましたが、私はできるので、それを理解できません

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

それでは、配列にCL引数入力を使用することの何が問題になっていますか?ありがとう

4

3 に答える 3

2

単純に、 a ではなくa をDouble.parseDouble()返すため、 type の変数に割り当てることはできません。doubledouble[]double[]

argsすべての文字列をsに変換したい場合はdouble、次のようなものを試すことができます

double[] a = new double[args.length];
for (int i = 0; i < args.length; i++) {
    a[i] = Double.parseDouble(args[i]);
}

もちろん、必要なだけの場合は、2 番目のスニペットで行っているようにargs[0]、解析されたものを保存します。doubleこの場合、配列を使用してもあまり意味がありません。

于 2013-08-24T14:58:57.630 に答える
1

しかし、「doubleをdoubleに変換できません」と言われましたが、私はできるので、それを理解できません

それが実際に言ったのは「変換できませんdoubledouble[]でした。これ[]はエラー メッセージの意味にとって非常に重要であり、無視してはなりません。

doubleaを の配列として扱うことができないことを示していますdouble


を初期化したい場合は、最初に配列double[]を割り当てる必要があります。double例えば

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

または、1 つのステートメントでそれを行うこともできます。

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

あるいは

double [] a = {Double.parseDouble(args[0])};
于 2013-08-24T14:58:51.293 に答える
0

割り当てられている配列である必要があります...

例えば

double[] a = new double[] { Double.parseDouble(args[0]) };
于 2013-08-24T14:57:55.097 に答える