首页 > 解决方案 > 如何检查数组中的值以查找在另一个数组中找到的特定字符串?

问题描述

我需要使用用户在 Java Scanner 中输入的内容,然后确定该特定输入是否被接受作为检查库存数组中是否足够的一部分。此外,int inventory 数组的具体值必须与字符串 items 数组相匹配。例如,对于项目“ScrewDriver”,数量为 500。

这是一个用于家庭作业的程序,我被困在一个步骤中,我必须找出用户想要购买的物品数量。如果输入的数量超过 int[] 库存中的数量,那么我必须让用户知道并退出程序。但如果我确实有足够的库存,那么我必须显示最终的账单金额。我想我能够正确地询问用户他们想要多少,但我坚持使用这些信息来做我的下一个方法。到目前为止,我只能使 purchaseAmount 起作用,但我无法弄清楚 finalBillAmount。我做错了什么?

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 of Item:%s”

标签: javaeclipse

解决方案


我将帮助您解决逻辑,剩下的交给您。关于方法: 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.
}

我希望这会有所帮助!


推荐阅读