Запись элементов в массив из аргумента метода
есть метод с одним параметром. Этот метод могут вызывать бесконечное множество раз а параметр(аргумент) должен быть записан в массив. Но при каждом вызове метода предыдущее значение не сохраняется а записывается новое. Как сохранить предыдущее значение?
Что можно поискать почитать, какую тему разобрать?
Ответы (1 шт):
Автор решения: Nowhere Man
→ Ссылка
У вас скорее всего существует заранее созданный массив заданного размера, и проблема в вашем коде, что вы не выходите из цикла, как только нашли первую свободную ячейку в массиве и записали в неё депозит, а заполняете весь массив целиком (пропуская только элемент по индексу 0).
Исправленный вариант кода:
public boolean addDeposit(Deposit deposit) {
if (null == deposit) {
throw new NullPointerException("Deposit cannot be null!");
}
boolean added = false;
for (int i = 0; i < deposits.length && !added; i++) {
if (null == deposits[i]) {
deposits[i] = deposit;
added = true;
// break; // необязательно, если в условии цикла проверяется !added
}
}
return added;
}