我有一个作业,为了简化代码,我希望能够根据 int 的值引用字符串。
//Below is a rough example of what I'm trying to accomplish.
String player1Piece = "x";
String player2Piece = "O";
int playerturn; //Assigned value of either 1 or 2 later in code.
...
System.out.println(player(playerturn)Piece);
让我知道这是否可能,但如果不可能,我当前的解决方案是使用 switch 语句,然后复制并粘贴输出代码。
最佳答案
Java 是一种编译语言,没有 eval
功能。您可以使用简单的if - else
喜欢
if (playerturn == 1) {
System.out.println(player1Piece);
} else {
System.out.println(player2Piece);
}
或您可以将这些片段存储在数组中,并通过索引访问该数组。就像,
String[] pieces = { "X", "O" };
// ...
System.out.println(pieces[playerturn - 1]);
注意数组是从 0
开始索引的(因此,如果您想使用值 playerturn - 1
和 1
, 2
是必需的)。
或您可以将棋子存储在 map 中,并通过按键访问 map 。就像,
Map<Integer, String> map = new HashMap<>();
map.put(1, "X");
map.put(2, "O");
// ...
System.out.println(map.get(playerturn));
注意,带有 Map
playerturn
值无需修改即可使用。
关于java - java中如何根据另一个变量动态调用一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57565740/