我想让它在我的for loop语句中只打印出其他的颜色,但由于类型的不同,我无法将它纳入到一个 if
语句。
public enum Example{Red, Blue, Green, Yellow, Orange, Purple, Brown}
public class Test {
public static void main(String[] args) {
for (Example colour: Example.values()) {
if (????) {
System.out.println(colour);
}
}
}
}
希望的输出。
Red Green Orange Brown
解决方案:
你可以使用 ordinal()
喜欢
for (Example colour : Example.values()) {
if (colour.ordinal() % 2 == 0) {
System.out.println(colour);
}
}
或者,你可以使用一个外部变量来保存一个计数。比如说:
int i = 0;
for (Example colour : Example.values()) {
if (i % 2 == 0) {
System.out.println(colour);
}
i++;
}
但这似乎是一个传统的好地方。for
循环递增 2
. 喜欢。
for (int i = 0; i < Example.values().length; i += 2) {
System.out.println(Example.values()[i]);
}
这三种方式都会产生你所要求的输出。
本文来自投稿,不代表实战宝典立场,如若转载,请注明出处:https://www.shizhanbaodian.com/27267.html