使用switch语句将字符串与枚举进行比较
我正在用Java制作轮盘赌(我自己的版本),而玩家可以打赌的类型之一就是选择将要滚动的颜色。(偶数是黑色,奇数是红色)。有没有一种方法可以使用switch语句将字符串与枚举进行比较?
private enum colors{red, black};private String colorGuess;
private boolean colorVerify = false;
public void getColorGuess(){
do{
Scanner in = new Scanner(System.in);
colorGuess = in.nextLine();
switch(colors){
case red:
colorVerify = true;
break;
case black:
colorVerify = true;
break;
default:
System.out.println("Invalid color selection!");
break;
}while(colorVerify = false);
这就是我想要得到的,但这并不是让我在switch语句中使用枚举“颜色”。
回答:
您必须具有要在其上进行切换的枚举类型的实例(其 成员 )。您正在尝试打开Enum类本身,这是没有意义的构造。所以你可能需要
colors col = colors.valueOf(colorGuess);switch (col) ...
顺便说一句,名称应为Colors
,不colors
尊重非常重要且非可选的Java命名约定。
以上是 使用switch语句将字符串与枚举进行比较 的全部内容, 来源链接: utcz.com/qa/407055.html