我第一次使用Java编写了一个大程序,但这次我使用的是JavaFx。
我想在我的代码中使用Enum,所以我写了一个Enum类
public enum Directions {
NORTH,
SOUTH,
WEST,
EAST
}
我写了方法:
public void changeDirection(Directions newDirections){// kommt noch
switch (newDirections){
case newDirection.NORTH: direction = 'n'; break;
case newDirection.SOUTH: direction = 's'; break;
case newDirection.WEST: direction = 'w'; break;
case newDirection.EAST: direction = 'e'; break;
default: break;
}
}
因为我还没有主要课程,而且我的编译器不能正常工作,我需要问我做的是否正确。
答案 0 :(得分:-1)
如果仍然使用开关,枚举的重点是什么?只需在包含n / s / w / e的枚举中添加char类型的字段。然后它就像newDirection.getChar()。这是一个例子。我还添加了一个方法byChar
来从char获取枚举元素。
public enum Direction {
NORTH, SOUTH, WEST, EAST;
final char c;
private Direction() {
this.c = Character.toLowerCase(this.name().charAt(0));
}
public char getChar() {
return this.c;
}
public static Direction byChar(final char c) {
for (final Direction dir : Direction.values())
if (dir.c == c) return dir;
throw new NoSuchElementException("No direction for " + c);
}
}