什么是将字符串与枚举值进行比较的正确方式?

15 浏览
0 Comments

什么是将字符串与枚举值进行比较的正确方式?

作业:剪刀石头布游戏。

我创建了一个枚举:

enum Gesture{ROCK,PAPER,SCISSORS};

我想通过比较值来决定谁赢-计算机还是人类。设置值正常工作,并且比较也正确(纸覆盖石头,石头砸碎剪刀,剪刀剪破纸)。然而,我无法让平局生效。无论何时出现平局,用户都被声明为获胜者。

啊啊...糟糕...这将澄清:userPick是一个具有值rockpaperscissorsString。我无法使用==userPick与下面的代码中被转换为Gesture类型的enum computerPick进行比较。

if(computer == 1)
         computerPick = Gesture.ROCK;
      else
         if(computer == 2)
           computerPick = Gesture.PAPER;
         else
           computerPick = Gesture.SCISSORS;
      if(userPick.equals(computerPick))
       {
          msg = "tie";
          ++tieGames;
       }
           etc....

我猜测rock不等于ROCK,或者String userPick无法与Gesture computerPick匹配,因为后者不是String。然而,我在教科书或Oracle的Java教程中找不到类似情况的示例,所以我不确定如何解决这个问题...

有什么提示吗?

0