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
.Моя проблема с кодом заключается в том, что мне всегда нужно создавать два дубликата переменной (поэтому я считаю, что код не элегантный, но не могу найти лучшего решения).Например, в самом начале я создаю lastExchange
, а затем создаю exchangeToAdd
(имеет то же значение, что и lastExchange
).То же самое происходит в цикле.Я создаю lastExchange
, а затем я создаю exchangeToAddForLoop
.Я делаю это потому, что не могу добавить lastExchange
в список, потому что он будет изменен последним.
ADDED 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.
}
, и мне нужно вычислить e1
и e2
дополнительно к вычислению e
.