Java 和带有扫描器的枚举

标签 java enums

我的枚举有问题。我有一个类 Type,其中有两个枚举:RIGHTLEFT。 在其他类中,我有类 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/

相关文章:

java - 无法访问 Switch Case/Java 内的枚举值

java - 无法使用 Web 服务的二维对象返回值

java - 使用 javax.xml.soap.SOAPConnection 设置套接字读取超时

java - 无法在 IBM bluemix 上 @Inject

Swift - 如何将枚举与关联值进行比较?

mysql - 如何在 Scala Slick 中使用枚举?

java - 通过反射获取 Java 字段,而不是通过其 String 名称

java - 如何避免从某个网络外部对 Java Web 应用程序 servlet 的请求?

java - 计算枚举总值 Java

java - 接口(interface)中的静态方法不起作用,如何从多个枚举中获取特定的枚举值?