在Java中使用Switch语句时遇到问题

在Java中使用Switch语句时遇到问题,java,switch-statement,Java,Switch Statement,我正在做一个有趣的角色创建者,我似乎遇到了另一个java问题!我试着在谷歌上搜索了一下,但似乎没有找到一个有效的解决方案。。。我试图使用switch语句让编译器根据用户选择的类(Knight、Archer、Mage)输出某些信息,但在输入代码时会收到错误消息 到目前为止,我的代码(清理了一点)是: 我想我可能正在尝试在另一个类中创建一个类,但当我尝试将它放在外部时,它又出现了一个错误。。。 另外,我有一个名为attPoints的int,在我选择了一个类之后,我想向它添加10,但不确定如何添加。您

我正在做一个有趣的角色创建者,我似乎遇到了另一个java问题!我试着在谷歌上搜索了一下,但似乎没有找到一个有效的解决方案。。。我试图使用switch语句让编译器根据用户选择的类(Knight、Archer、Mage)输出某些信息,但在输入代码时会收到错误消息

到目前为止,我的代码(清理了一点)是:

我想我可能正在尝试在另一个类中创建一个类,但当我尝试将它放在外部时,它又出现了一个错误。。。
另外,我有一个名为attPoints的int,在我选择了一个类之后,我想向它添加10,但不确定如何添加。

您正在打开Java类型的
类。请看本教程:

您可能希望执行以下操作:

switch (userClass) {
    case Class.KNIGHT:
        System.out.println(" Various lore about knights ");
        break;
}

Class
不是保留的,
Class
是保留的。此外,为了避免为每种情况写入EnumName.x,OP可以使用import static来获取枚举的所有值,以便可以使用开关(x)。首先,不要在
java.lang
中为您自己的类型使用名称;改用
CharacterClass
或类似的方法。假设您使用的是
枚举类
,看起来问题就在那里。(1) 发布枚举的代码。(2) 编译器错误指定错误发生的位置。发布information.switch(userClass),而不是switch(Class):在Java中,枚举类型是完整类。不要使用
开关
,通常应该在枚举上定义方法并为每个值提供实现。好的,我的枚举是:公共枚举类{骑士、法师、德鲁伊、忍者、弓箭手、冒险家、狂暴者},我在第一个代码框中发布的错误都出现在我说的“//这就是我得到错误的地方。”在命名类或枚举时,使用适当的有意义的名称可能是一个很好的做法——在这种情况下,GameCharacter可能是一个很好的名称,以避免混淆。
switch (userClass) {
    case Class.KNIGHT:
        System.out.println(" Various lore about knights ");
        break;
}