Как проверить значение в массиве для конкретной строки, найденной в другом массиве? - PullRequest
0 голосов
/ 09 апреля 2019

Мне нужно использовать входные данные из того, что пользователь ввел в Java-сканер, а затем выяснить, принят ли этот конкретный вход как часть проверки, достаточно ли в массиве инвентаря.Также определенное значение массива int инвентаризации должно совпадать с массивом строковых элементов.Например, для элемента «ScrewDriver» существует количество 500.

Эта программа предназначена для выполнения домашнего задания, и я застрял на шаге, на котором мне нужно выяснить, сколько предметов у пользователяжелая купить.Если входная сумма больше, чем в int [], я должен сообщить пользователю и выйти из программы.Но если у меня есть достаточно в инвентаре, то я должен показать окончательную сумму счета.Я думаю, что я был в состоянии правильно спросить пользователя, сколько они хотят, но я застрял на использовании этой информации для моего следующего метода.До сих пор мне удалось заставить работать только Сумму покупки, но я не могу определить окончательную сумму счета.Что я делаю неправильно?

String[] items = {"Hammer", "Wrench", "Pliers", "Saw", "ScrewDriver" };
    double[] prices = {1.99, 2.99, 3.99, 4.99, 5.99};
    int[] inventory = {100, 200, 300, 400, 500};

    String itemAsked = askUserForItem(items);
    String itemInfo = showItemInfo(items, prices, inventory, itemAsked);
    int itemAmount = purchaseAmount(items, inventory, itemAsked, itemInfo);
    int finalAmount = finalBillAmount(items, inventory, itemAsked, itemInfo, itemAmount);

private static int purchaseAmount(String[] items, int[] inventory, String itemAsked,
        String itemInfo) {
    int itemAmount = 0;
    Scanner myS = new Scanner(System.in);
    System.out.printf("\nHow many would you like to purchase? -> ");
    itemAmount = myS.nextInt();
    return itemAmount;
}

Я ожидаю, что результат покажет доступную сумму и покажет итоговую сумму счета "Ваш общий счет: $% s".Кроме того, если элементы недоступны, вывод должен быть «Извините, у нас есть только инвентарь:% s элемента:% s»

1 Ответ

0 голосов
/ 11 апреля 2019

Я помогу с логикой, а остальное оставлю вам.Что касается метода: finalBillAmount(items, inventory, itemAsked, itemInfo, itemAmount); Мы видим, что у нас есть множество параметров для работы.Для начала мы структурируем цикл for, чтобы увидеть, по какому индексу находится элемент, по отношению к массиву элементов.

int index = 0;
for(int i = 0;i<items.length;i++){
     if(itemAsked.equals(items[i]){
          index = i;
}

Далее мы сравним количество запрашиваемых предметов с количеством в инвентаре:

if(itemAmount>inventory[index]){
     System.out.println("Sorry, we don't have that many of "+item[index]);
     return 0;
}
else{

//I would need to see how your showItemInfo method works in order to compute the bill.
}

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...