Java 用于循环以更改背景色

Java 用于循环以更改背景色,java,for-loop,background-color,Java,For Loop,Background Color,嗨,我正在为我的Java类创建一个战舰程序。现在,我正在努力学习一门射击的课程。要启动,我尝试将背景颜色从蓝色(这意味着它只是一个空单元格)更改为黄色(以显示我已在该单元格中启动,但没有任何内容) 这是消防等级的代码。如果您认为有必要,我可以包括它继承自的其他类。我遇到的主要问题是试图让我的“for”循环通过,并根据我想要的迭代次数将背景从蓝色更改为黄色。100是用于测试目的的任意数字 public class Fire extends Ship{ public Fire() thro

嗨,我正在为我的Java类创建一个战舰程序。现在,我正在努力学习一门射击的课程。要启动,我尝试将背景颜色从蓝色(这意味着它只是一个空单元格)更改为黄色(以显示我已在该单元格中启动,但没有任何内容)

这是消防等级的代码。如果您认为有必要,我可以包括它继承自的其他类。我遇到的主要问题是试图让我的“for”循环通过,并根据我想要的迭代次数将背景从蓝色更改为黄色。100是用于测试目的的任意数字

public class Fire extends Ship{

    public Fire() throws InterruptedException{
        super.setShipV();
    }
    public void Shoot() throws InterruptedException {

        Random random= new Random();

        int a = random.nextInt(100);
        int b = random.nextInt(100);

        for (int i = 0; i< 100; i++){
           //for(int j = 0; j< 50; i++){
           grid[a][b].setBackground(Color.yellow);
        }
    }
}
公共级火灾扩展到船舶{
公共火灾()引发中断异常{
super.setShipV();
}
public void shot()抛出InterruptedException{
随机=新随机();
int a=随机的nextInt(100);
int b=随机的nextInt(100);
对于(int i=0;i<100;i++){
//对于(int j=0;j<50;i++){
网格[a][b]。背景(颜色.黄色);
}
}
}
谢谢你的帮助


Hannah

访问网格时需要使用迭代器变量

试着这样做:

for (int i = 0; i< 100; i++){
   for(int j = 0; j< 50; i++){
      grid[i][j].setBackground(Color.yellow);
}

在每次迭代中执行的唯一代码是
{
(在(…)的
之后)和
}之间的代码
。这意味着在你的代码中,
a
b
设置一次,然后你将同一个网格字段标记为黄色一百次。如果你这样做,你会在每次迭代中给
a
b
一个新值。

非常感谢。第二部分成功了。为什么必须这样做?出了什么问题用我原来的方式来做?当然没有必要回答,但我不想在将来犯同样的错误。Hannah@HanH1113更新了答案,增加了一点解释。希望它能让答案更清楚。如果没有,请说出来,这样我可以进一步改进。:)
for (int i = 0; i< 100; i++){
   int a = random.nextInt(100);
   int b = random.nextInt(100);
   grid[a][b].setBackground(Color.yellow);
}