i
表示行,并且y
表示连接4游戏中的列,我试图根据用户选择的列更改圆的颜色,但此代码不断给出错误类型不匹配,无法将状态转换为串。Java更改状态
public enum State{
RED, YELLOW, BLANK;
}
i
表示行,并且y
表示连接4游戏中的列,我试图根据用户选择的列更改圆的颜色,但此代码不断给出错误类型不匹配,无法将状态转换为串。Java更改状态
public enum State{
RED, YELLOW, BLANK;
}
究竟作为错误消息说,f
应包含字符串,如您的声明中指出:
public static void dropRedCounter (String[][] f)
↑
但你的价值比作State
,而你也在努力分配一个State
它:
f[i][y] = State.RED;
您可能希望有State.RED.name()
以甲肝e Enum的字符串值。
有关详细信息,请参阅文档:Enum Types。
您尝试将一个枚举分配给一个字符串。
尝试f[i][y]=State.RED.toString()
保存它和State.valueOf(f[i][y])
以从字符串中获取枚举。另一种方法是有一个枚举数组(只使用搜索,我相信你会发现的东西)
你不能直接比较枚举值和字符串,或将枚举值分配给一个字符串。但是,您可以枚举转换为字符串,并将其再比较:同样
if (f[i][y].equals(String.valueOf(State.BLANK)) {
下一行:
f[i][y] = String.valueOf(State.RED);
或使用'.name()' – Maroun
邮政变量的声明,整体误差,并指定其行吧被提出 – m0skit0