Java搜索对象的字符串

时间:2014-09-21 19:49:22

标签: java object

我有一个课程项目 并创建多个对象(树,电视,书等) 在课堂上游戏

    // Create the items
    tree            = new Item("tree", "I big green tree", 60);
    coat            = new Item("coat", "I white coat", 5);
    paper           = new Item("paper", "a role of wc paper", 1);

现在玩家(也是玩家类)必须保存一些物品。 玩家可以通过输入以下内容来获取此项目:get book,其中book是String secondWord。

现在我需要一个可以获得的类Game中的函数 一个字符串的对象。

例如;

玩家进入拿书。

player1.takeItem(Item secondWord); 

并且在类播放器中我有这个函数takeItem()

/**
 * Method to take item
 * and add them to the ArrayList carriedItems
 * @param secondCommandWord is the second word command
 * Ex: take book -> book is then command
 */
public void takeItem(Item secondCommandWord)
{
    // Add new item to carried list
    carriedItems.add(secondCommandWord);
} 

但这不起作用。希望你能帮帮我

1 个答案:

答案 0 :(得分:1)

我认为你的班级Item看起来像这样:

public class Item {

    private String kind;
    private String description;
    private int price;

    public Item(String kind, String description, int price) {
        this.kind = kind;
        this.description = description;
        this.price = price;
    }

    ...
}

然后,在Item类中,您可以简单地创建一个方法,将该项的类型作为String返回。

public String getKind() {
    return this.kind;
}

我猜你有一个所有项目的清单。然后,您可以使用getItem(String)轻松地从列表中获取项目,该项目将返回所需的项目。

private List<Item> items = new ArrayList<Item>() {{
    add(new Item("tree", "I big green tree", 60));
    add(new Item("coat", "I white coat", 5));
    add(new Item("paper", "a role of wc paper", 1));
}};

public Item getItem(String itemName) {
    for (Item item : this.items) {
        if (item.getKind().equals(itemName)) {
            return item;
        }
    }
    return null;
}