我正在尝试测试enum
,但我目前遇到了一些麻烦。我希望能够打印出值,但我不知道如何。
代码:
class test2 {
public enum games {
COD (3, 49.99), CS (5, 29.99), HL2 (5, 29.99), HALO (5, 49.99);
int rating;
float cost;
games(int rating, float cost) {
this.rating = rating;
this.cost = cost;
}
}
public static void main(String[] args) {
for (games g : games.values()) {
System.out.println(g +" " + g.rating + " " + g.cost);
}
}
}
答案 0 :(得分:2)
您对枚举构造函数的调用对定义的字段cost
使用了错误的类型。
您可以通过将字段类型更改为double
或通过在调用中传递浮点数来更正此问题,即更改
float cost;
games(int rating, float cost) {
到
double cost;
games(int rating, double cost) {
或更改
COD (3, 49.99), CS (5, 29.99), HL2 (5, 29.99), HALO (5, 49.99);
到
COD (3, 49.99f), CS (5, 29.99f), HL2 (5, 29.99f), HALO (5, 49.99f);
如果有任何更改,您的代码运行正常。
答案 1 :(得分:1)
试
COD (3, 49.99f), CS (5, 29.99f), HL2 (5, 29.99f), HALO (5, 49.99f);
java中浮点的默认值是double; - )
答案 2 :(得分:1)
您必须替换
float
与
double
执行你的代码:)