我正在Java中实现一个Tic-Tac-Toe,并且有一个这样的枚举:
public enum Player{X,O};
当进行动作时,我需要换到另一个玩家,我这样做:
this.nextPlayer = ((this.nextPlayer == Player.X)?Player.O:Player.X);
有没有办法通过枚举结构的下一个元素自动“递增”?我想知道有5个或6个不同的值,并希望在没有大量代码的情况下交换它们(并且没有实现分离的方法)。
答案 0 :(得分:3)
您可以使用枚举的ordinal()方法和模数运算符来实现:
this.nextPlayer = (nextPlayer.ordinal() + 1) % Player.values().length;