-1

次のコードを使用して、1 次元の単一配列を宣言しようと試み続けています。

double[] temporary= {0.7143, 0.5392, 0.5444, 0.5321, 0.5417, 0.5528, 0.5327, 0.5267, 0.5271};

コードは問題なく実行されていますが、動的な値として宣言しようとするたびに問題が発生します。おそらく、それを適切に宣言する方法がわかりません。

これは私が最近試したことです:

double temporary[];
temporary = new double[1000];

私が試してみた次のコードは、固定サイズで試みました:

for (int i = 0; i < window.length; i++)
            {
                window[i] = temporary[j + i - windowSize];
            } 

これと配列リスト:

for (int i = 0; i < window.length; i++)
            {
                window[i] = temporary.get(j+i-windowSize);
            }

上記のように、空の double 配列を宣言して動的に入力したいだけです。

どうもありがとうございました

4

6 に答える 6

1

そのためには ArrayList を使用する必要があります。

ArrayList<Double> temporary = new ArrayList<Double>();
temporary.add(0.46567);
...

double[]問題は、固定サイズなどの Java の通常の配列です。配列のサイズを設定できるのは 1 回だけですが、ArrayList を使用している間はいつでも要素を追加および削除できます。

于 2012-09-24T19:26:20.413 に答える
0

double[]一時=新しいdouble[1000];

使用を初期化するには

一時的[0]=2.456d;

それが役に立てば幸い :-)

于 2012-09-24T19:32:01.157 に答える
0

ランダム アクセスが特に必要ない場合は、ArrayList よりも LinkedList を優先してください。実際、これが大きくなる限り、(容量に達したときに) 配列の複数のサイズ変更を回避します。

List<Double> temporary = new LinkedList<Double>();
temporary.add(0.46567);
//...
于 2012-09-24T19:32:51.593 に答える
0

コンテンツの長さが事前にわかっている場合は、次のようになります。

temporary = new double[sizeofContent];

コンテンツの長さが事前にわからない場合は、次のようなものを使用する必要がある場合があります(listこれは動的なものです) 。arraytoArray(type)

于 2012-09-24T19:27:31.380 に答える
0

そのためにArrayListを使用できます:

List<Double> temporary = new ArrayList<Double>();
temporary.add(0.5588);
于 2012-09-24T19:28:23.660 に答える
-1

ArrayList、のようなコレクションオブジェクトを使用します

List<Double> doubles = new ArrayList<Double>();
doubles.add(...);
doubles.add(...);
...
Double[] temp = doubles.toArray(new Double[0]);
于 2012-09-24T19:30:26.477 に答える