有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何检查在另一个数组中找到的特定字符串的数组中的值?

我需要使用用户在Java扫描器中输入的内容,然后确定是否接受该特定输入,作为检查库存数组中是否有足够的内容的一部分。此外,int inventory数组的特定值必须与string items数组匹配。例如,项目“螺丝刀”的数量为500

这是一个家庭作业程序,我被困在一个步骤中,我必须找出用户想要购买多少物品。如果输入的数量超过int[]库存中的数量,那么我必须让用户知道并退出该程序。但是如果我有足够的存货,那么我必须显示最终的账单金额。我想我可以向用户询问他们想要多少,但我坚持在下一个方法中使用这些信息。到目前为止,我只能够得到购买量的工作,但我无法计算出最终的illamount。我做错了什么

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) 个答案

  1. # 1 楼答案

    我会帮你解释逻辑,剩下的留给你。 关于方法: 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.
    }
    

    我希望这有帮助