【问题标题】:Calling an enum variable in Java [duplicate]在Java中调用枚举变量[重复]
【发布时间】:2016-12-06 18:04:29
【问题描述】:

我正在开发一个 JPanel 项目,您可以在其中玩计算机的 Rock、Paper、Scissors。我正在使用枚举进行选择。我是这样设置的

enum Choices {rock, paper, scissors}

现在,要将“玩家选择”设置为他们按下的任何按钮,我有

if (event.getSource() == rock){        //Makes it so when you press rock button, your choice is rock
    Choice playerChoice = Choice.rock; 
}

但现在当我尝试这样做时

if (playerChoice == Choice.rock)
    if (cpuChoice == Choice.scissors)
        playerWon = true;

.. 对于每个选项,我在“playerChoice”上收到一个错误,说它找不到符号。有任何想法吗?提前致谢!

编辑:有人建议“在 if 语句之外使用变量”,但在此之上,该人正在初始化和实例化内部变量。我已经将它初始化为枚举。

【问题讨论】:

    标签: java enums


    【解决方案1】:

    您需要更改Choice playerChoice 的范围。

    这样做:

    Choice playerChoice
    if (event.getSource() == rock){ 
       playerChoice = Choice.rock; 
    }
    
    if (playerChoice == Choice.rock)
        if (cpuChoice == Choice.scissors)
            playerWon = true;
    

    【讨论】:

    • 抱歉,打错了。枚举名称和测试相同,我不是要在枚举名称中添加“s”
    • @Cythix 我更新了我的答案。
    • 解决了!非常感谢
    猜你喜欢
    • 2020-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-14
    相关资源
    最近更新 更多