2015-09-03 35 views
1

我正在嘗試製作此庫存計劃。在我的交換機的情況4中,我試圖從我的庫存文本文件中查找少於10個庫存項目的所有項目。到目前爲止,我只能找到具有最低數量項目的項目,當我需要所有項目少於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; 

再次,這是我的第一個問題,我很抱歉,如果它不是很好問。

+2

您的程序旨在查找數組中的最小值。邏輯本身是錯誤的。 :) –

+0

啊,我明白了。我對編程很陌生。我完全猜測哈哈。 :) 謝謝! –

回答

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.. 
} 
+0

由於某些原因,當我嘗試運行時,這不會輸出任何東西它。它使我初始化變量,現在= 0,並且向輸出添加了一些文本。它只是不輸出任何東西。有任何想法嗎? –

+0

使用代碼發佈ideone鏈接。它會幫助我理解這個問題。 –

+0

以前從未使用過。這是否工作? http://ideone.com/xCoBfM –

0

因爲你需要的是低於10項的LIST,那麼你顯然需要一個數據結構來存儲,而不只是一個像你的變量lowest多個項目。所以,你需要的東西是這樣的:

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

好吧謝謝:)我完全猜測。我對編程還很陌生。 –

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); 
} 
+1

請修改您的打印行以包含您保存在'items'中的所有數據。 –

+1

你的for-each循環對我來說看起來不是很Java-ish ... – Clashsoft

+0

是的在c#模式下 – Maxqueue

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]); 
    } 
} 
+0

非常感謝你:) –