查找库存少于10件商品的所有商品

时间:2015-09-03 16:16:37

标签: java loops for-loop

我正在尝试制作此库存计划。在我的交换机4的情况下,我试图从库存文本文件中找到库存少于10件商品的所有商品。到目前为止,我只能找到项目数量最少的项目,当我需要所有小于10的项目时。非常感谢任何帮助。我在这个网站上的第一个问题,所以我希望你对我很温柔哈哈。 :)

case 4:
    int lowest = 10;

    for( int i = 0; i < allItems.length; i++) {
        if( allItems[i].getNumberOfPieces() < allItems[lowest].getNumberOfPieces())
            lowest = i;
    }

    System.out.println("\nThe items that have less than 10 pieces in stock: " + allItems[lowest]);
    break;

同样,这是我的第一个问题,如果问得不好,我会道歉。

4 个答案:

答案 0 :(得分:0)

由于你需要一个低于10的项目的 LIST ,你显然需要一个数据结构来存储多个项目,而不是像变量request那样。所以你需要这样的东西:

lowest

答案 1 :(得分:0)

int lowest = 10;
List<Item> items = new List<Item>(); //Item is supertype of all items

for (int i = 0; i < allItems.length; i++)
{
    if (allItems[i].getNumberOfPieces() < lowest)
    {
        items.add(allItems[i];//populate list of items with less than 10
    }    
}

System.out.println("The items that have less than 10 pieces in stock: ");
for(Item item : items)
{
    System.out.println(item.name);
}

答案 2 :(得分:0)

单个 int 变量最低这里不足以存储多个数据。那里你需要ARRAY LIST。

List<Item> data = new ArrayList<>();
for (int i = 0; i < allItems.length; i++) {
   if (allItems[i].getNumberOfPieces() < 10) {
    data.add(allItems[i]);
  }
 }

答案 3 :(得分:0)

除了找到最小值,这不是你想要的,你可以在它发现它小于10时立即输出库存物品。这也可以省去制作数据结构的麻烦,除非你我想再次使用该列表。

for( int i = 0; i < allItems.length; i++) {
    int pieces = allItems[i].getNumberOfPieces();
    if( pieces < 10)
        System.out.println(pieces); //or whatever you'd like to print related to this index..
}