如何在java中创建和更新方法?

时间:2013-03-04 11:11:08

标签: java

我需要能够在这部分代码中非常简单地更新数量:

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,只需要添加方法吗?

很抱歉这个琐碎的问题,但你必须从某个地方开始。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

我不知道我是否真的遇到了你的问题,但我建议你增加你的物品数量。

只需添加如下公共方法:

public void addQuantity(int q) { quantity += q }

我希望你这意味着。

答案 1 :(得分:0)

添加此方法:

  

public void setQuantity(int q){quantity = q}

您可能希望开始阅读http://docs.oracle.com/javase/tutorial/