Ну, я вижу здесь большую проблему:
if(itemID < 0)
и прямо здесь:
itemCosts[itemID - 1]
Каждое значение itemID должно быть отрицательным для выполнения этого условия, затем вы передаете отрицательное значение для индекса массива. Java не поддерживает использование отрицательных индексов для массивов. Возможно, вам придется изменить ваше условие, если вы хотели:
if(itemID > 0)