私は値を計算し、それにリストを追加するループを持っています。だから、私はそのようなことをします:「重複するローカル変数」エラーが発生するのはなぜですか?
私はリストに同じインスタンスを追加するので、このアプローチはうまくいきません。より詳細には、ループのすべてのサイクルで、私はx
に新しい値を割り当て直して、リストに既に追加されているすべての要素の値を変更します(最終的には同じ要素のリストが得られます)。私はすべての時間が、リストに値を追加する新しいインスタンスを作成したいこのように
x = getValue();
Integer[] valueToAdd = new Integer[n];
for (int i=0; i<n; i++) {
valueToAdd[i] = x[i];
}
while (true) {
x = getValue();
y = new Integer[n];
for (int i=0; i<n; i++) {
valueToAdd[i] = x[i];
}
values.add(valueToAdd)
}
:
は、私は次のようでした。この問題を解決するには。しかし、私は重複したローカル変数エラーを取得するので、それは動作しません。ループ内で同じ変数を何度も宣言しても、このエラーが発生しないことは私には奇妙です。この問題は、最初にループ外に新しい変数を宣言してからループ内に宣言する場合にのみ表示されます。
異なるインスタンスに同じ名前を再使用する方法はありますか?
追加済み いくつかの問題を明確にする必要があります。私はすべてのコードを表示しませんでした。ループ内にbreak
コマンドがあります(新しい値を生成できない場合、ループを終了します)。 x
およびvalue
は、Integer[]
タイプを有する。それは、問題は、私はここに、より詳細にする必要がありgetValue()
であることができることを述べたので
は2 を追加しました。実際に私のコードにはgetValue()
がありません(私はここでgetValue()
を使っています)。私のコードでは私が持っていた:
Integer[] x = new x[n];
while (true) {
for (int i=0; i<n; i++) {
x[i] = y[i];
}
values.add(x)
}
そして、それは私のvalues
リストに私は同一の要素を持っていたので、うまくいきませんでした(と私はすべてのサイクルx
上のループで新たな価値を持っていたことを知っています)。
はあなたの問題は、あなたがそれだと思うものではありません3
Why all elements of my list seems to be the same?
「x」の種類は何ですか?どのようにこれらのループは永遠に実行されますか? 「重複するローカル変数エラー」と記述したエラーの*実際のテキスト*は何ですか? – EJP
@EJP、私はループ内にbreakコマンドを持っています(新しい値を生成できない場合、ループを終了します)。 xとvalueにはInteger []型があります。 – Roman
この質問は*極端に不明です。また、解決すべき実際の問題もなく、実際のコードやエラーメッセージもありません。 – Bombe