java中的库存程序

时间:2016-06-04 06:46:31

标签: java class object inventory

大家好我正在制作库存程序,我遇到了stockItem删除方法的问题。我希望它删除给定索引处的项目并返回已删除的项目。如果索引无效,则返回null。

到目前为止,这是我的代码。请滚动到底部查看我在说什么。

import java.util.ArrayList;

public class Inventory {
    private ArrayList<StockItem> stock;

    public Inventory() {
        stock = new ArrayList<StockItem>();
    }

    public void addStockItem(StockItem item) {
        stock.add(item);
    }

    public int size() {
        return stock.size();
    }

    public String toString() {
        String result = "";
        for(StockItem item: stock)
            result+=item.toString()+"\n";
        return result;
    }

    public boolean isValidIndex(int index) {
        return index >=0 && index < stock.size();
    }


    public StockItem getItem(int index) {
         if (index < 0 || index >= this.stock.size()){
               return null;
         }
         return this.stock.get(index);
    }


     /**
     * 
     * @param index
     * @return null if index is invalid, otherwise
     * remove item at the given index and return the 
     * removed item.
     */
    public StockItem remove(int index) {
        return null; //I need to do this part
    }


}

3 个答案:

答案 0 :(得分:0)

您需要迭代列表中的所有项目,当您找到需要删除的项目的匹配项时,您可以删除该特定项目..

迭代该列表的for循环并比较......

答案 1 :(得分:0)

可能是这样的:

/**
 * 
 * @param index
 * @return null if index is invalid, otherwise remove item at the given
 *         index and return the removed item.
 */
public StockItem remove(int index) {
    if (index >= 0 && index < stock.size()) // check if this index exists
        return stock.remove(index); // removes the item the from stock   and returns it
    else
        return null; // The item doesn't actually exist
 }

使用object删除一个示例:

public boolean remove(StockItem item) {
    if (item != null && stock != null && stock.size() != 0)
        return stock.remove(item);
    else
        return false;
}

答案 2 :(得分:0)

使用已声明的方法代码可以是这样的:

public StockItem remove(int index) {
    // if the index is valid then remove and return the item in given index
    if(isValidIndex(index)){
        return this.stock.remove(index);
    }

    //return null otherwise
    else{
        return null;
    }
} 

ArrayList中的remove方法删除给定索引处的项目并返回已删除的项目。请阅读ArrayList的文档以获取更多信息。