-2

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

PS:我是java新手,我知道我的代码仍然是基本的,因为我还在自己学习java。而且我的变量尚未更改为 Arraylist cus,我刚刚发现 Arraylist 在存储数据集合方面比普通 Array 好得多。

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

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

4

1 回答 1

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

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

于 2013-10-20T03:41:12.787 回答