gpt4 book ai didi

java - 如何使用变量的值引用变量名称

转载 作者:行者123 更新时间:2023-12-02 01:27:50 26 4
gpt4 key购买 nike

好的。对于我的计算机科学项目,我们必须制作一个给老师留下深刻印象的程序或游戏。我选择了 Battleship,并使用 Netbeans Design UI 制定了 UI 的基本轮廓。

所以本质上我的方法之一是当你向 JPanel 分配一艘船时将其设置为蓝色,我不想编写 400 行代码来描述他们可以将船舶分配给的每个可能的框的 if 语句,我想知道如果有一种方法可以引用 JPanel 名称中的变量值。我会告诉你我的意思。

所以 var 是已经从用户检索到的船舶位置。 pA1 将是位于 A1 的玩家面板。

public static void pSetShip(String var){
var=("p"+var);
if (var.equals("pA1")){
pA1.setBackground(Color.BLUE);
}
}

是否有任何可能的方法,而不是使用 if 语句设置每个单独的框,我可以这样做:

public static void pSetShip(String var){
var=("p"+var);
(VALUE OF VAR VARIABLE).setBackground(Color.BLUE);
}

如有任何帮助,我们将不胜感激!

最佳答案

是的,假设他们实现了一个通用的接口(interface)但是您需要将它们存储在某个东西中。假设它们的类型为 JComponent我会使用 Map<String, JComponent>喜欢

static Map<String, JComponent> map = new HashMap<>();
static {
map.put("pA1", pA1);
// ... for all valid components.
}

然后你就可以像这样使用它

public static void pSetShip(String var){
map.get("p"+var).setBackground(Color.BLUE);
}

关于java - 如何使用变量的值引用变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56606873/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com