2013-07-03 84 views
0
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」應該做什麼..?

回答

0

我相信你正在尋找ordinal()

返回此枚舉常量的序數(它在枚舉聲明,其中初始常量的零序位置)。大多數程序員將無法使用這種方法。它設計用於複雜的基於枚舉的數據結構,如EnumSet和EnumMap。

如果你想枚舉類型,那麼你可以使用:

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