请耐心等待我解决这个问题的措辞。假设我有一个名为“UserType”的用户定义类型,并且该类型有 4 个值:北、南、东和西。
public enum UserType {
NORTH, SOUTH, EAST, WEST
}
然后,我想在不同的类中编写一个方法语句,它将根据类型增加两个变量的值。例如,
public class direction {
private int peopleWhoGoNorth;
private int peopleWhoGoSouth;
所以 peopleWhoGoNorth 应该在每次调用以下方法时跟踪去北方的人数:
public void whichWay(UserType type) {
}
我想知道如何在括号之间创建一个语句,该语句基本上是这样的:如果类型是北方,则将 peopleWhoGoNorth 加 1,如果类型是南方,则将 peopleWhoGoSouth 加 1。我猜 if/else 语句应该可以做到这一点,但我不确定语法是如何工作的。以下可以吗?
public void whichWay (UserType type){
if (UserType = NORTH){peopleWhoGoNorth = peopleWhoGoNorth + 1);
if (UserType = SOUTH){peopleWhoGoSouth = peopleWhoGoSouth + 1);
}
如果有什么办法可以澄清这个问题,请告诉我。
最佳答案
您可以为枚举使用开关:
public void whichWay (UserType type){
switch (type) {
case NORTH:
peopleWhoGoNorth++;
break;
case SOUTH:
peopleWhoGoSouth++;
break;
default:
throw new IllegalArgumentException();
}
}
关于java - 如何编写根据类型执行操作的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31036186/