Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向二维阵列中的每个对象添加编号_Java - Fatal编程技术网

Java 向二维阵列中的每个对象添加编号

Java 向二维阵列中的每个对象添加编号,java,Java,这些对象都有一个名为number的属性,现在我想给这个2d数组中的每个对象添加一个数字,从0到99 因此,tiles[0][0]的编号为0,tiles[9][9]的编号为99。瓷砖[3][0]应具有编号2 我尝试将其放入嵌套的for循环中,如下所示: for(int x = 0; x < mapWidth; x++) { for(int y = 0; y < mapHeight; y++) {

这些对象都有一个名为number的属性,现在我想给这个2d数组中的每个对象添加一个数字,从0到99

因此,tiles[0][0]的编号为0,tiles[9][9]的编号为99。瓷砖[3][0]应具有编号2

我尝试将其放入嵌套的for循环中,如下所示:

for(int x = 0; x < mapWidth; x++)
        {
            for(int y = 0; y < mapHeight; y++)
            {
                for(int i = 0; i <100; i++){                        
                tiles[x][y].nummer(i);                    
                }
            }    
        }
for(int x=0;x对于(int i=0;i这是因为您正在运行一个循环,该循环将每个磁贴上的数字从
0
设置为
99
,因此您的结果是
99
无处不在

相反,您应该做如下操作:

for(int i = 0 ; i < 100 ; i++) {
        tiles[i%10][i/10] = i;
}
for(int i=0;i<100;i++){
瓷砖[i%10][i/10]=i;
}

您也可以使用一个变量来保持计数器

int num = 0;
for (int y = 0; y < mapHeight; y++) {
 for (int x = 0; x < mapWidth; x++) {
  tiles[x][y].nummer(num);
  num++;
 }
}
int num=0;
对于(int y=0;y
int计数器=0;
对于(int y=0;y
请澄清您的具体问题或添加其他详细信息,以突出显示您所需的内容。按照目前编写的内容,很难准确说出您的要求。请参阅“如何询问”页面以获得帮助,以澄清此问题。磁贴获得的数字背后的逻辑是什么?为什么
磁贴[3][0]
2
?@Maljam哦,这是错误的,它应该是4,我可以解释为它的分片[x][y],分片[3][0]是从左上角开始的第四个分片,所以它是4。
int counter = 0;
for(int y = 0; y < mapHeight; y++)
        {
            for(int x = 0; x < mapWidth; x++)
            {                      
                tiles[x][y].number(counter);
                counter++;                    
            }    
        }