我的枚举有问题。我有一个类 Type
,其中有两个枚举:RIGHT
和 LEFT
。
在其他类中,我有类 Type
的对象,名为 value
。
我有一个循环:
if (currentLvl.verify(value)) {
totalPoint++;
}
其中currentLvl.verify(value)
是验证值是否正确的方法。我的问题是如何从用户那里获取值
。我希望用户在循环 if 之前写入他的值,然后如果 value
正确,则 totalPoint++
。我想使用扫描仪,但无法执行 value = Scanner.nextInt();
。如何从用户那里获取value
并将其值输入到变量value
?
最佳答案
听起来您需要使用 valueOf()
方法将字符串转换为枚举,如下所示:
Type value = Type.valueOf(scanner.next().toUpperCase());
或者,如果用户输入枚举值,则使用 values()
数组
Type value = Type.values()[scanner.nextInt()];
关于Java 和带有扫描器的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9578986/