Integer[] lastExchange = new Integer[nColors];
Integer[] exchangeToAdd = new Integer[nColors];
lastExchange = getValue();
exchangeToAdd = getValue();
exchanges.add(exchangeToAdd);
Integer[] newExchange = new Integer[nColors];
while (true) {
newExchange = getValue(lastExchange);
Integer[] exchangeToAddForLoop = new Integer[nColors];
for (int i=0; i<nColors; i++) {
lastExchange[i] = newExchange[i];
exchangeToAddForLoop[i] = newExchange[i];
}
exchanges.add(exchangeToAddForLoop);
}
は、私はこのコードをどうしようとしています何重複するローカル変数の問題を洗練されたソリューションですか?
を追加しましたか?私はexchanges
というリストを埋め込む必要があります。リストの最初の要素はlastExchange
です。コードの私の問題は、常に変数の2つの複製を作成する必要があることです(コードがエレガントではないと思う理由ですが、より良い解決策が見つけられません)。たとえば、最初はlastExchange
を作成し、次にと同じ値を持つexchangeToAdd
を作成します。ループでも同じことが起こります。私はlastExchange
を作成し、exchangeToAddForLoop
を作成します。後者が変更されるため、lastExchange
をリストに追加できないため、これを行います。
はここ2
を追加しました私の問題です。私はそのようなコードを持っている:
Integer[] e = getValue();
Integer[] e1 = getValue(); // <-- I do not like that.
exchanges.add(e1); // <-- I do not like that.
while (true) {
Integer[] e_new = getValue(e);
Integer[] e2 = new Integer[nColors]; // <-- I do not like that.
for (int i=0; i<nColors; i++) {
e[i] = e_new[i];
e2[i] = e_new[i]; // <-- I do not like that.
}
exchanges.add(e2); // <-- I do not like that.
}
を、私はe
の計算に加えてe1
とe2
を計算する必要があります。
何をしようとしていますか? – javamonkey79
エレガント?私はそうは思わない。あなたは決して使用しないオブジェクトを不必要に作成し、ループは終了しません。 「重複ローカル変数問題」とは何ですか? – sje397
おそらく関連性があります:http://stackoverflow.com/questions/4344051/why-do-i-get-a-duplicate-local-variable-error – Cephalopod