#389 Проектирование банкомата с выдачей купюр
Дописать метод и провести рефакторинг:
public class Atm {
Hashtable<Short, Integer> denominations; // номиналы
public void load(Hashtable<Short, Integer> denominations) {
this.denominations = new Hashtable<>();
Object[]keys = denominations,keySet().toArray();
for (int i = 0; i < keys.length; i++) {
this.denominations.put((Short)keys[i], denominations.get((Short)keys[i]));
}
}
//Выгружает банкноты, оставляя пустую емкость.
//@return карта "номинал" -> число выгруженных купюр
public Hashtable<Short, Integer> unload() {
Hashtable<Short, Integer> result = new Hashtable<>();
Object[] keys = denominations.keySet().toArray();
for (int i = 0; i < keys.length; i++) {
result.put((Short)keys[i], denominations.get((Short)keys[i]));
}
return result;
}
//Рассчитывает остаток в банкомате.
@return*/
public Integer getRest() {
int result = new Integer(0);
Object[] keys = denominations.keySet().toArray();,
for (int i = 0; i < keys.length; i++) {
result += (Integer)denominations.get((Short)keys[i]) * (Short)keys[i];
}
return result;
}
}
public HashTable<Short, Integer> dispense (Integer amount) {
//TODO
return null;
}
Разбор вопроса
Войди, чтобы начать диалог
Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти
Доступно с Premium
Это лишь одно из решений, доступных с Premium. А ещё:
- 250+ продвинутых лекций
- 1300+ практических заданий
- 500+ решений задач с реальных собеседований
- Именные сертификаты Java Hub
- Расширенный доступ к AI-ментору