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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© duanhuilin 中级黑马   /  2012-12-28 18:14  /  1422 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public enum jiaotong
    {
        红灯,  //0
        黄灯,  //1
        绿灯    //2
    }

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

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

2 个回复

倒序浏览
Enum.GetNames(typeof(jiaotong))[1]
回复 使用道具 举报
  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. }
复制代码
供楼主参考,

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

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