一年有12个月。
我需要定义每个月的枚举(枚举)。我还需要使用for循环来显示每个月。
我坚持的部分是我们需要将输出格式化为:
第1个月:JAN
第2个月:FEB
...
第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循环才能拥有"月(#月):"显示?
for ( int i = 1; i <= 12; i++)
{
System.out.println("Month" + i + ": ");
for (Month m : m.values())
{
System.out.println(m);
}
}
很抱歉,如果这可能无法编译(我的计算机上没有我的IDE) 但我知道如果我做那个嵌套循环,它将列出外部循环的每次迭代的枚举的所有值。我试图将内部语句替换为&#34; System.out.println(m.value(i));&#34;但这不起作用,因为编译器声明该方法不适用于int类型。那么我该怎样做才能使这项工作?
答案 0 :(得分:3)
根据您的Month
枚举,您可以访问ordinal()
和name()
来获取输出。像,
for (Month m : Month.values()) {
System.out.printf("Month %d: %s%n", m.ordinal() + 1, m.name());
}