我最近(<- 关键字)开始使用 Java 编程,而且我很喜欢它! 但我在尝试独立编程时遇到了一些障碍...... 我的想法是制作一个有趣的小角色创建器 - RPG 风格,但我不知道如何让用户在不使用一堆 If 语句的情况下选择一个类别。
我想使用枚举,尽管我不太熟悉它们。
到目前为止,我已经询问用户想要玩什么类别+我已经创建了枚举。
String Name;
System.out.println("Welcome to my Character Creator 2.0!\n");
Thread.sleep(2000);
System.out.print("First off, what do you want your characters name to be?\n\nName : ");
Name = Scan.nextLine();
Thread.sleep(1000);
System.out.print("\nYou are now to be known as "+ Name + "!");
System.out.print("\n\n" + Name + ", what class do you want to be? ");
Thread.sleep(1000);
System.out.print("Classes available : Knight\nMage\nDruid\nNinja\nArcher\nAdventurer");
}
所以,是的,我基本上希望能够直接从枚举中调用类,但我不确定如何做到这一点。我尝试了一些愚蠢的事情,比如:Class = Scan.nextInt();... 但显然没用
最佳答案
执行此操作的一个简单方法是使用 valueOf
Enum 类的方法。像这样的事情:
String name;
...
name = scan.next();
UserClass userClass = UserClass.valueOf(name);
在本例中,UserClass
是枚举的名称,可能如下所示:
public enum UserClass{
KNIGHT,
MAGE,
DRUID,
NINJA
// other classes as needed
}
请注意,扫描仪行假定用户正确输入了名称。如果他们没有,您会得到 IllegalArgumentException
,您可以使用 try...catch
block 捕获它。
旁注:我确信您已经看到了这些消息,但请记住 java 标准是变量名以小写字母开头。否则很难确定所讨论的实体是一个类(以大写字母开头)还是一个命名不当的变量。
关于Java - 如何使用枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21115685/