黑马程序员技术交流社区

标题: 关于枚举的问题 [打印本页]

作者: duanhuilin    时间: 2012-12-28 18:14
标题: 关于枚举的问题
public enum jiaotong
    {
        红灯,  //0
        黄灯,  //1
        绿灯    //2
    }

现在我定义了一个如上的枚举,我想问的是我怎么通过枚举的下标值:如1 就能获取到枚举值jiaotong.黄灯。求解答
另外再附上一道公司面试题:
定义一个枚举。里面包含红灯,黄灯,绿灯。写一个方法实现:如果是红灯那么下个灯就是绿灯。如果是绿灯下个灯就是黄灯。

作者: 赵小江    时间: 2012-12-28 19:32
Enum.GetNames(typeof(jiaotong))[1]
作者: 刘丰伟    时间: 2012-12-28 20:05
  1. package com.itheima;

  2. /**
  3. * 定义一个交通灯枚举,包含红灯、绿灯、黄灯,需要有获得下一个灯的方法, 例如:红灯获取下一个灯是绿灯,绿灯获取下一个灯是黄灯。
  4. *
  5. * @author Mr liu
  6. *
  7. */
  8. public class Test1 {
  9.         public static void main(String[] args) {
  10.                 // 测试打印绿灯的下一个是什么颜色的
  11.                 System.out.println("绿灯的下一个灯:" + TrafficLamp.GREEN.nextLamp());
  12.         }
  13. }

  14. enum TrafficLamp {
  15.         // 定义enum类型的交通灯,颜色为红,绿,黄
  16.         RED() {
  17.                 // 如果如果当前是红灯则返回绿灯
  18.                 @Override
  19.                 public TrafficLamp nextLamp() {
  20.                         // TODO Auto-generated method stub
  21.                         return GREEN;
  22.                 }
  23.         },
  24.         GREEN {
  25.                 // 如果当前是绿灯则返回黄灯
  26.                 @Override
  27.                 public TrafficLamp nextLamp() {
  28.                         return YELLOW;
  29.                 }
  30.         },
  31.         YELLOW {
  32.                 // 如果当前是黄灯则返回红灯
  33.                 @Override
  34.                 public TrafficLamp nextLamp() {
  35.                         return RED;
  36.                 }
  37.         };

  38.         public abstract TrafficLamp nextLamp();

  39. }
复制代码
供楼主参考,




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