我道歉,如果我的問題不夠明確,構建在一個枚舉的實例,而無需修改枚舉類
我目前正在對一所學校assignement,我必須使用以下枚舉類:
public enum Seeds {
TOMATE,
CONCOMBRE,
SALADE,
PATATE,
BETTERAVE;
}
然後爲每個種子的購買價格,出售價格和成熟時間製作一大堆常量,並且每次都必須鍵入它們,我想直接在類中爲每個枚舉分配屬性,如下所示:
public enum Seeds {
TOMATE(2.00, 3.50, 5),
CONCOMBRE(1.00, 2.50, 6),
SALADE(1.50, 4.50, 8),
PATATE(2.50, 3.50, 4),
BETTERAVE(2.00, 4.00, 10);
private final double
buy_price,
sell_price;
private final int
maturation_time;
public Seeds(double buy_price, sell_price, int maturation_time) {
this.buy_price = buy_price;
this.sell_price = sell_price;
this.maturation_time = maturation_time;
}...
並用getter返回它們的屬性。
然而,我的老師告訴我,我不能修改所提供的枚舉類...所以我在想,如果有可能構建種子另一個類。
我重複了你的想法,這就是我最終做的'public class Magasin {private final final static int BUY = 0,SELL = 1,RIPE = 2; 私人最終靜態雙[] [] = MAGASIN {{2.00,3.50,5.0},// TOMATE \t {1.00,2.50,6.0}, \t {1.50,4.50,8.0}, \t {2.50,3.50, 4.0}, \t {2.00,4.00,10.0}, }; //干將...... }' – CaffeinatedSynapse
我基本宣告一個STORE矩陣中的所有數據不變......我想嘗試肖恩的想法,但我一直在使用的接口沒有經驗,不能真正瞭解它們的功能在我自己的。 – CaffeinatedSynapse
也可以。你也可以像這樣添加getter:'public double getBuyPrice(Seeds seedType){return MAGASIN [seedType.ordinal()] [BUY]; }' – Joe