从键盘输入到枚举的值

时间:2013-07-03 16:25:02

标签: input enums keyboard

import java.util.*;
class Main{
public static void main(String args[]) {
Scanner sc=new Scanner(System.in);
int val=sc.nextInt();

Lights light=Lights.valueOf(val);
//How to take the value of variable "val" so that if we print '0' Red is displayed. 
int set=light.setVal(val);
System.out.println(light.getVal());
}}
enum Lights {
Red(0), Yellow(1), Green(2);
int i;
Lights(int i) { this.i=i; }
int getVal() { return i; }
void setVal(int m) { i=m;}
    }

如何在枚举定义时使用“val”的值。?

例如,在命令行参数的情况下,我们写了valueOf(args [0]),但在这种情况下,当我们想要使用“val”时应该做什么..?

1 个答案:

答案 0 :(得分:0)

我相信您正在寻找ordinal()

  

返回此枚举常量的序数(它在枚举声明中的位置,其中初始常量的序数为零)。大多数程序员都没有使用这种方法。它设计用于复杂的基于枚举的数据结构,例如EnumSet和EnumMap。

如果你想要枚举类型,那么你可以使用:

Lights light = Lights.values()[ordinal];