java - java中如何根据另一个变量动态调用一个变量

标签 java variables

我有一个作业,为了简化代码,我希望能够根据 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 - 112 是必需的)。

您可以将棋子存储在 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/

相关文章:

java - 如何在java数组/列表中保存int和string列?

java - hadoop:无法运行 mapreduce 作业

java - LibGDX 在更新方法期间执行一次操作

java - 更改抽象变量

javascript - 无法通过在我的环境中使用变量来获取 DOMelement,但在控制台中我可以

SQL Server 在 sql 变量中存储多个值

javascript - 将数组值赋给变量

java - 为内存密集型应用程序增加 JVM 最大堆大小

java - 使用扫描仪时输入未分配给我的变量

java - Java 中静态变量的问题