黑马程序员技术交流社区

标题: 各位大侠帮忙看看,给解决一下 [打印本页]

作者: Bad_Boy    时间: 2013-9-13 22:24
标题: 各位大侠帮忙看看,给解决一下
本帖最后由 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. }
复制代码

作者: Yuan先生    时间: 2013-9-13 23:25
Color共有RED、GREEN、YELLOW三个对象,第一行RED("R")就相当于调用了Color的构造方法private Colour("R")
作者: 天地有我    时间: 2013-9-14 00:16
本帖最后由 天地有我 于 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;
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2