为了账号安全,请及时绑定邮箱和手机立即绑定

每个循环周期替换变量名

每个循环周期替换变量名

ABOUTYOU 2022-11-10 15:18:10
正如标题所说,我需要将变量名称的一部分替换为 for 循环迭代的次数。在我的代码中,变量是 Swing 上的按钮网格,从 a1 到 c3。我必须重新着色依赖于 p1grid[] 数组的所有按钮。我不能(据我所知)将它们放在自己的数组中,因为它们是按钮。这是我的代码:for (int i = 1; i < 4; i++) {    if (p1grid[i - 1].equals("empty"))        ("a" + i).setBackground(Color.LIGHT_GRAY);    else        ("a" + i).setBackground(Color.RED);}
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

您当前的代码将无法编译,因为 ("a"+i) 是一个没有 setBackground() 方法的字符串。


假设按钮的类是 Button。因此,您可以执行以下操作:


   List<Button> buttons = new ArrayList<Button>;

   buttons.add(a1);buttons.add(a2);...

然后使用以下方法修改背景:


for (int i = 1; i < 4; i++) {

    if (p1grid[i - 1].equals("empty"))

        buttons.get(i-1).setBackground(Color.LIGHT_GRAY);

    else

         buttons.get(i-1)..setBackground(Color.RED);

}


查看完整回答
反对 回复 2022-11-10
  • 1 回答
  • 0 关注
  • 104 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信