-1

我第一次尝试enum在Java中声明一个,如下:

public enum Atom_const{
    public final float HIDROGEN_RADIUS=.1f;
    public final float CARBON_RADIUS=.28f;
}

Eclipse 给了我一个错误"Syntax error on token "{", ; expected",但是我从未见过像“{;”这样的语法 enum以前,我也没有在示例中看到过这一点。那么声明一个的正确方法是enum什么?

我确实看过http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html但没有;在 { 之后。我怀疑这是因为我做了分配,但我不确定。

4

4 回答 4

10

你在声明一个枚举和声明一些常量字段之间做了一半。我怀疑你想要类似的东西:

public enum Element {
    HYDROGEN(.1f),
    CARBON(.28f);

    private final float radius;

    private Element(float radius) {
        this.radius = radius;
    }

    public float getRadius() {
        return radius;
    }
}
于 2013-02-26T10:23:45.833 回答
4

如果你想在 Java 中声明一个带有浮点数的枚举,你应该这样做:

public enum AtomRadius {
    HYDROGEN(.1f),
    CARBON(.28f);

    private final float radius;

    private AtomRadius(float radius) {
        this.radius = radius;
    }
}

public static void main(String[] args) {
    // Example of how to use your constant
    AtomRadius atom = AtomRadius.HYDROGEN;
    System.out.println(atom.radius);
}

有关更多信息检查:http ://docs.oracle.com/javase/tutorial/java/javaOO/enum.html

于 2013-02-26T10:26:40.080 回答
1
public enum Atom_const {
    HYDROGEN(.1f),
    CARBON(.28f);

    private float radius;

    private Atom_const(float radius) {
        this.radius = radius;
    }

    public float getRadius() {
        return radius;
    }
}
于 2013-02-26T10:25:42.333 回答
1

无需申报public final float

 enum Atom_const{   
   HYDROGEN_RADIUS(.1f),
   CARBON_RADIUS(.28f);} 

谢谢

于 2013-02-26T10:38:44.247 回答