2 jimsam jimsam 于 2016.02.22 12:39 提问

Java枚举的使用的问题

教材里面有段关于枚举的代码,但一直报错,麻烦高手看一下

import java.util. *;
public class EnumTest {

    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        System.out.print("请输入服装型号:(SMALL,MEDIUM,LARGE,EXTRA_LARGE,EXTRA_EXTRA_LARGE)");
        String input=in.next().toUpperCase();
        Size size=Enum.valueOf(Size.class,input);
        System.out.println("Size="+size);
        System.out.println("abbreviation="+size.getAbbreviation());
        if(size==Size.EXTRA_LARGE^size==Size.EXTRA_EXTRA_LARGE)
            System.out.println("很好,你注意到了下划线");

    }
    public static String abbreviation;
    enum Size{SMALL,MEDIUM,EXTRA_LARGE,EXTRA_EXTRA_LARGE}
    private void Size(String abbreviation){this.abbreviation=abbreviation;}
    public String getAbbreviation(){return abbreviation;}
}

2个回答

qq_25884179
qq_25884179   2016.02.22 13:04
已采纳

像这样:
enum Size{SMALL,MEDIUM,EXTRA_LARGE,EXTRA_EXTRA_LARGE;

public String getAbbreviation() {
    // TODO Auto-generated method stub
    return abbreviation;
}
}
qq_25884179
qq_25884179   2016.02.22 13:02

按你的调用,getAbbreviation方法要定义在枚举中,不是在主类里

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
java 枚举使用中注意的问题
通常在需要使用数据集合的时候,枚举便派上了用场。大多数情况下使用枚举的时候无意识的不会去修改里面的值。那么枚举中的值到底能不能修改呢? 答案是:一旦定义了枚举,最好不要妄图修改里面的值,除非修改是必要的。   今天遇到的问题就是和枚举相关的,因为之前并不知道枚的对象实际上是单例,导致了非常严重的问题 先看下代码 (1)定义的枚举:   public enum  SquareAreaEn
JAVA基础之--Lambda表达式,枚举类,垃圾回收机制,修饰符的使用范围
Lambda表达式是java8的重要更新,也是被广大程序员期待已久的新特性。 /* * 1.Lambda表达式支持将代码块作为方法的参数;允许使用更加简洁的代码创建只有一个抽象方法的接口(函数式接口)的对象, * 返回值是明确类型的接口对象, * 2.Lambda表达式的主要作用是替代匿名内部类的繁琐语句,由三部分组成 * 1>形参列表,允许省略形参的类型,如果只有一个形参,则
Java枚举的使用以及几种解决if else引起的代码不可维护的方案
本文介绍了Java枚举的简单使用以及利用多态和枚举替代if else,从而提高代码质量,增加代码可维护性和可读性
Java的枚举类型使用方法详解
1.背景 在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量。之前我们通常利用public final static 方法定义的代码如下,分别用1 表示春天,2表示夏天,3表示秋天,4表示冬天。 public class Season { public static final int SPRING = 1; public static final
java枚举表示常量
实际编程时存在这样的数据集:数值稳定个数有限。此时,我们就可以运用枚举来操作这些数据集。 import java.util.LinkedHashMap; import java.util.Map; /** * @ClassName: WeekEnum * @Description: 季节枚举类 * @author HZ * @date 2015-10-26 上午11:14:59 */
Java中Enum类型的序列化及类升级不建议用枚举的原因
在Java中,对Enum类型的序列化与其他对象类型的序列化有所不同,今天就来看看到底有什么不同。下面先来看下在Java中,我们定义的Enum在被编译之后是长成什么样子的。  Java代码:  Java代码   public enum FruitEnum {       APPLE, ORAGE   }   上面的代码定义了一个FruitEnum类型,是最简单
项目代码优化:使用Java枚举常量代替类常量
项目代码优化:每页显示商品记录数在代码中原来是定义的一个类常量,因为在代码中多次使用到,因此在这个实现类中定义了一个类常量。使用和这样的代码运行是没有任何问题的,但是对于以后的代码维护和程序的灵活扩展都是不好的,就算是定义了类常量,也是属于硬编码问题。这里我们可以使用Java推荐使用的枚举。那么Java枚举是怎么使用的呢?学习C++的时候使用过,但是Java没有怎么使用过,有些遗忘,C++和Jav
熄灯问题(枚举、位运算)
题目: 有一个由按钮组成的矩阵,其中每行有6个按钮,共5行。每个按钮的位置上有一盏灯。当按下一个按钮后,该按钮以及周围位置(上边、下边、左边、右边)的灯都会改变一次。即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的,则会被点亮。在矩阵角上的按钮改变3盏灯的状态;在矩阵边上的按钮改变4盏灯的状态;其他的按钮改变5盏灯的状态。 2811:熄灯问题" title="POJ 2811:熄灯问
WebService中使用枚举类型
1、在服务端编写枚举值    public enum BackWorkType     {         None,          Test              } 2、为每一个枚举值添加下面属性,添加下面属性后服务可以通过对象字符串进行序列化    [EnumMember(Value = "None")] 3、添加完后枚举变成  public enum Ba
java 枚举——java(android)中枚举的运用和使用场景
如果作为一个java开发工程师还不了解或者还不能很好的运用枚举这个新特性的话,那你就得好好看一看枚举了。因为枚举在java5以后是个很好用的新特性。