JAVA。搜索值并显示数据

时间:2013-10-20 03:05:11

标签: java arrays arraylist

目前正在制作购买计划。我几乎完成了一半,我唯一需要的是。当我按1购买时,它会给我一个选项来输入我存储在库存中的商品代码。然后它根据我库存中存储的产品分别显示输入代码对应的数据或值。

PS:我是java的新手,我知道我的代码仍然是基本的cus我还在自己学习java。我的变量还没有变成Arraylist cus我刚刚发现Arraylist在存储数据集合方面要比普通数组好得多。

任何建议都受到高度赞赏和欢迎。坚持使用Arraylist或Array。不是哈希特等等。谢谢你们!

希望你们能帮助我。谢谢!

1 个答案:

答案 0 :(得分:0)

class Item {
    public final int sku;
    public final String desc;
    public final type other_fields;

    public Item(int s, String d, type fields...) {
        // set fields
    }
}

或者如果你真的想要聪明

abstract class Item {
    public final int sku
    // ....
}

class PinkCurtains extends Item {
    public PinkCurtains() {
        sku = 129534;
        desc = "Adorable Pink Indoor Curtains";
    }
}

class FuzzyTowel extends Item {
    public FuzzyTowel() {
        sku = 874164;
        desc = "Machine Washable Fuzzy Towel";
    }
}

然后填充您的列表并搜索

ArrayList<Item> catalog = new ArrayList<Item>(0);

for (int i = 0; i < numItems; i++) {
    catalog.add(new Item(arg, arg, arg...));
}

// or

catalog.add(new PinkCurtains());
catalog.add(new FuzzyTowel());

for (Item item : catalog) {
    if (chosenItem == item.sku) {
        // do all your stuff
    }
}

出于某种原因,它们被称为Iterables。如果你不想,你不必上课。 ArrayList还有搜索方法,contains()和indexOf()例如:

http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html

如果你想在你去的时候填写这些字段,你可以创建一个允许你这样做的课程:

class Item {
    public int id;
    public float price;
}

ArrayList<Item> cart = new ArrayList<Item>(0);

do {

    Item item = new Item();

    item.id = userInput;
    item.price = userInput;

    cart.add(item);

} while (userInputting);

float total = 0;

for (Item i : cart) {
    total += i.price;
}

// using a regular for loop instead of for-each

for (int i = 0; i < cart.size(); i++) {
    Item item = cart.get(i);

    // or search for something particular

    if (item.id == searchID) {
        System.out.println("found item " + item.id + " with price $" + item.price);
    }

    // equivalent to

    if (ids[i] == searchID) {
        System.out.println("found item " + ids[i] + " with price $" + prices[i]);
    }
}

每次用户想要添加项目时,您只需创建一个新项目,填写字段并将其添加到列表中。