在Java中以允许更改的方式存储字母?

在Java中以允许更改的方式存储字母?,java,Java,我目前正在控制台中制作一个“零”和“十字”游戏,我遇到了一个问题,因为字符和字符串都是常量,它们的值不能更改,因此我在网上搜索了一种存储字母的方法,我可以更改它们。 我真的很感激一些帮助或替代方法来做这件事 谢谢。将您的电路板保持在一个阵列中。例如,您可以使用字符[3][3]。您可以更改数组的任何成员,例如board[1][1]=“O”将电路板保持在一个阵列中。例如,您可以使用字符[3][3]。您可以更改数组的任何成员,例如board[1][1]=“O”您应该创建一个名为NoughtOrCros

我目前正在控制台中制作一个“零”和“十字”游戏,我遇到了一个问题,因为字符和字符串都是常量,它们的值不能更改,因此我在网上搜索了一种存储字母的方法,我可以更改它们。 我真的很感激一些帮助或替代方法来做这件事


谢谢。

将您的电路板保持在一个阵列中。例如,您可以使用
字符[3][3]
。您可以更改数组的任何成员,例如
board[1][1]=“O”

将电路板保持在一个阵列中。例如,您可以使用
字符[3][3]
。您可以更改数组的任何成员,例如
board[1][1]=“O”

您应该创建一个名为
NoughtOrCross
枚举,如下所示:

public enum NoughtOrCross {
    NOUGHT,
    CROSS;
}
然后将电路板放入如下声明的数组:

NoughtOrCross[][] board = new NoughtOrCross[3][3];

null
不表示任何内容,
NoughtOrCross.NOUGHT
表示NoughtOrCross,而
NoughtOrCross.CROSS
表示交叉。

您应该创建一个
Enum
名为
NoughtOrCross
,如下所示:

public enum NoughtOrCross {
    NOUGHT,
    CROSS;
}
然后将电路板放入如下声明的数组:

NoughtOrCross[][] board = new NoughtOrCross[3][3];

null
不代表任何内容,
NoughtOrCross.NOUGHT
表示零,
NoughtOrCross.CROSS
表示交叉。

变量有什么问题吗?我不太明白这里的问题。如果你想改变它,为什么不能在char或string变量中加入一个新值呢?变量有什么问题吗?我真的不明白这里的问题。如果您想更改char或string变量,为什么不能将新值放入其中?枚举是不可变的,就像Java中的char和string一样,所以这对问题根本没有帮助(这可能还是个好主意,但出于其他原因)。枚举也是不可变的,就像Java中的char和string一样,因此,这对这个问题毫无帮助(这可能仍然是个好主意,但出于其他原因)。