2016-10-28 5 views
1

列挙型オブジェクトの名前値を特定の順序番号で返すにはどうすればよいですか?JAVA:列挙型オブジェクト名を序数で返す

は、ここに私のコードです:

import java.util.* 

public class Enumarating { 
     enum Animals {bunneh , sheep , horse , cow , supercow} 

     public static void main(String [] args) { 
      Random rand = new Random(); 
      Animals animal; 
     } 
} 

私は4に、ランダムな範囲を定義し、のは、私はその後、私は「馬」は、印刷したい番号2を得ると言うようになります。 どのような方法を使用しますか?

+4

可能な重複します。http:/ /stackoverflow.com/q/609860/2580773 –

+0

あなたは欲しいですかhttp://stackoverflow.com/a/19277247/785663 – mabi

答えて

0

コードは次のとおりです。

Animals.values()[rand.nextInt(Animals.values().length)]; 

[編集]

Animals.values() // gets an array with all the enum constants 
rand.nextInt(x) // returns a random integer between 0 (inclusinve) and x (exclusive) 
+0

ブラケットには何があったのですか? –

+0

わかりました!どうもありがとうございました –

0
Animals values[] = Animals.values() 

これはあなたの価値を与える: -

values[rand.nextInt(your_range)]