java - 打印枚举菜单

标签 java enums

我正在尝试打印这个枚举

 private enum Menu
        {
            Insert("Insert"), 
            Search("Search"), 
            Size("Size"), 
            Height("Height"), 
            Clear("Clear"),
            Inorder("Inorder"),
            Preorder("Preorder");

            private String description;

            Menu()
            {
                this.description = this.name();
            }

            Menu(String name)
            {
                this.description = description;
            }

            public String toString()
            {
                return description; 
            }
         }

通过使用这个:

            Menu[] menu = Menu.values();
            for(Menu m: menu)
            {
                System.out.printf("%d) %s%n", m.ordinal() + 1, m);
            }

我的结果是:

Choose an option to complete
1) null
2) null
3) null
4) null
5) null
6) null
7) null

我该如何解决这个问题?这是我第一次使用枚举,我很难弄清楚为什么会得到这个。

最佳答案

基本上,您正在将 description 的值(即 null)分配给自身...

改变

Menu(String name) {
    this.description = description;
}

Menu(String name) {
    this.description = name;
}

关于java - 打印枚举菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17102339/

相关文章:

java - Desfire - Ndef 应用程序命令 : get security exception

java - 在Eclipse中导入Gradle项目时未对等身份验证

c++ - 枚举类范围解析运算符

java - java枚举变量是静态的吗?

java - 最近的 Java API 中缺少 OpenCV 枚举变量(如 CV_BGR2GRAY 或 CV_AA)?

java - 如何为其余 WS 编写单元测试用例

java - 获取SerializationService,通过序列化进行克隆

java - JSONArray 中的 JSONObject

java - 如何检查一个对象是否是java中arraylist中的枚举类型?

java - 将类枚举传递给克隆是否克隆安全?