什么是将字符串与枚举值进行比较的正确方式?
什么是将字符串与枚举值进行比较的正确方式?
作业:剪刀石头布游戏。
我创建了一个枚举:
enum Gesture{ROCK,PAPER,SCISSORS};
我想通过比较值来决定谁赢-计算机还是人类。设置值正常工作,并且比较也正确(纸覆盖石头,石头砸碎剪刀,剪刀剪破纸)。然而,我无法让平局生效。无论何时出现平局,用户都被声明为获胜者。
啊啊...糟糕...这将澄清:userPick
是一个具有值rock
、paper
或scissors
的String
。我无法使用==
将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教程中找不到类似情况的示例,所以我不确定如何解决这个问题...
有什么提示吗?