我需要能够在这部分代码中非常简单地更新数量:
import java.util.HashMap;
import java.util.Map;
public class StockData {
private static class Item {
Item(String n, double p, int q) {
name = n;
price = p;
quantity = q;
}
// get methods
public String getName() { return name; }
public double getPrice() { return price; }
public int getQuantity() { return quantity; }
// instance variables
private String name;
private double price;
private int quantity;
}
// with a Map you use put to insert a key, value pair
// and get(key) to retrieve the value associated with a key
// You don't need to understand how this works!
private static Map<String, Item> stock = new HashMap<String, Item>();
static {
// if you want to have extra stock items, put them in here
// use the same style - keys should be Strings
stock.put("00", new Item("Bath towel", 5.50, 10));
stock.put("11", new Item("Plebney light", 20.00, 5));
stock.put("22", new Item("Gorilla suit", 30.00, 7));
stock.put("33", new Item("Whizz games console", 50.00, 8));
stock.put("44", new Item("Oven", 200.00, 4));
}
public static String getName(String key) {
Item item = stock.get(key);
if (item == null) return null; // null means no such item
else return item.getName();
}
public static double getPrice(String key) {
Item item = stock.get(key);
if (item == null) return -1.0; // negative price means no such item
else return item.getPrice();
}
public static int getQuantity(String key) {
Item item = stock.get(key);
if (item == null) return -1; // negative quantity means no such item
else return item.getQuantity();
}
// update stock levels
// extra is +ve if adding stock
// extra is -ve if selling stock
public static void update(String key, int extra) {
Item item = stock.get(key);
if (item != null) item.quantity += extra;
}
}
我为更新页面构建了GUI,只需要添加方法吗?
很抱歉这个琐碎的问题,但你必须从某个地方开始。
感谢您的帮助。
答案 0 :(得分:1)
我不知道我是否真的遇到了你的问题,但我建议你增加你的物品数量。
只需添加如下公共方法:
public void addQuantity(int q) { quantity += q }
我希望你这意味着。
答案 1 :(得分:0)
添加此方法:
public void setQuantity(int q){quantity = q}