【问题标题】:value from keyboard input into enums从键盘输入到枚举的值
【发布时间】:2013-07-03 16:25:02
【问题描述】:
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”时应该做什么..?

【问题讨论】:

    标签: input enums keyboard


    【解决方案1】:

    相信你在找ordinal()

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-22
      • 1970-01-01
      相关资源
      最近更新 更多