在for循环中,只打印其他每一个枚举值。

我想让它在我的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

(0)
上一篇 1天前
下一篇 1天前

相关推荐

发表评论

登录后才能评论