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