A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Bad_Boy 中级黑马   /  2013-9-13 22:24  /  1554 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Bad_Boy 于 2013-9-14 12:20 编辑
  1. public class Test01 {
  2.     public static void main(String[] args) {
  3.         Scanner in = new Scanner(System.in);
  4.         String input = in.next().toUpperCase();
  5.         Colour Colour = Enum.valueOf(Colour.class, input);
  6.         System.out.println("Colour = " + Colour);
  7.         System.out.println("abbreviation = " + Colour.getAbbreviation());//这个get方法是怎么拿到缩写值的,我一直没看明白
  8.         if (Colour == Colour.RED) {
  9.             System.out.println("这个颜色很鲜艳");
  10.         }
  11.     }
  12.    
  13.     enum Colour{
  14.         RED("R"), GREEN("G"), YELLOW("Y");
  15.         private Colour(String abbreviation) {
  16.             this.abbreviation = abbreviation;
  17.         }
  18.    
  19.         public String getAbbreviation() {
  20.             return abbreviation;
  21.         }
  22.    
  23.         private String abbreviation;
  24.     }
  25. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

2 个回复

倒序浏览
Color共有RED、GREEN、YELLOW三个对象,第一行RED("R")就相当于调用了Color的构造方法private Colour("R")
回复 使用道具 举报
本帖最后由 天地有我 于 2013-9-14 00:18 编辑

import java.util.Scanner;

public class Test
{
        public static void main(String[] args)
        {
                //从键盘输入一个颜色
                Scanner in = new Scanner(System.in);
                //获得颜色的大写表示
                String input = in.next().toUpperCase();
                //获得实际的颜色枚举实例对象
                Color color = Enum.valueOf(Color.class, input);
                //打印得到的颜色
                System.out.println("Colour = " + color);
                //打印该颜色abbreviation属性值
                //如果键盘输入的是red,它先通过这个方法Enum.valueOf(Color.class, input)得到枚举对象RED
                //然后再通过得到的枚举对象RED的getAbbreviation()方法得到RED所对应的abbreviation属性的具体值,该值是R。
                System.out.println("abbreviation = " + color.getAbbreviation());
                //如果是RED则打印。
                if (color == Color.RED)
                {
                        System.out.println("这个颜色很鲜艳");
                }
        }

        //定义颜色枚举类(内部枚举类)
        //枚举类最好独立定义在一个文件里,便于在所有的类中都可以使用
        enum Color
        {
                RED("R"), GREEN("G"), YELLOW("Y");
                private Color(String abbreviation)
                {
                        this.abbreviation = abbreviation;
                }

                public String getAbbreviation()
                {
                        return abbreviation;
                }

                private String abbreviation;
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马