我道歉,如果我的问题不够明确,构建在一个枚举的实例,而无需修改枚举类
我目前正在对一所学校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