2016-04-08 11 views
-1

1年に12ヶ月あります。forループとenum

各月の列挙(enum)を定義する必要があります。私はまた、毎月を表示するためにforループを利用する必要があります。

部分イムは、上立ち往生私たちはこのように見えるために私たちの出力をフォーマットする必要があるということです。

月1:JAN

月2:2月

...

月12:DEC

これまでのところ、これは私のコードです:

enum Month {JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC} 
for (Month m : m.values()) 
{ 
    System.out.println(m); 
} 

「月(月)」を表示するには、ネストされたfor-loopを実行する必要がありますか?

for (int i = 1; i <= 12; i++) 
{ 
    System.out.println("Month" + i + ": "); 
    for (Month m : m.values()) 
    { 
     System.out.println(m); 
    } 
} 

申し訳ありませんが、これはコンパイルできません(私は私のIDEで自分のコンピュータ上ではないよ) が、私は、ネストされたループ、そのはの反復ごとに列挙型のすべての値をリストアップしようとしていることを行う場合、私は知っている場合外側のループ私は内側のステートメントを "System.out.println(m.value(i));"コンパイラはメソッドがint型では機能しないと述べているため、これは機能しません。だから私はこの仕事をするために何をすることができますか?

答えて

3

数値がMonthの場合、ordinal()name()にアクセスして出力を得ることができます。何かのように、

+1

Java 8にはjava..mt.Month列挙型が組み込まれているので、演習の一部として自分自身を作成する必要がある場合を除いて、スキップすることもできます。 – Andreas