#389 Проектирование банкомата с выдачей купюр

Компании:
Сбербанк
Темы:
JavaООПКод ревью

Дописать метод и провести рефакторинг:

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;
}

Разбор вопроса

Ментор
Ответь как на реальном собеседовании. Я задам уточняющие вопросы, а затем сравню твой ответ с эталонным и покажу точность в %.
Войди, чтобы начать диалог Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти