我得到了第一堂课
public class Etaj {
int [][] etaj1,etaj2,etaj3,etaj4;
public void creazaEtaje()
{
etaj1 = new int[1][9];
}
}
和第二类在这里
public class Zone extends Etaj{
Zone zonaE1,zoneE2,zoneE3,zoneE4;
String TAG = "myLogs";
int idZona;
public void adaugaZoneLaEtaj1()
{
creazaEtaje();
for(int i = 0; i < etaj1.length; i++)
{
zonaE1 = new Zone();
zonaE1.setIdZona(i+1);
Log.e(TAG, "ZONEE " + etaj1[zonaE1.getIdZona()]);
for (int j = 0; j < etaj1[i].length; j++)
{
// this.etaj1[i][j] = zone;
Log.e(TAG, "tile " + etaj1[i][j]);
}
}
}
public int getIdZona() {
return idZona;
}
public void setIdZona(int idZona) {
this.idZona = idZona;
}
我的问题是为什么我可以把1放到这一行 Log.e(TAG,“ZONEE”+ etaj1 [zonaE1.getIdZona()]); 我想为头元素数组添加一个id,但它不会让我
getIdZone()它的1,我想将它添加到etaj1 [i];这是数组的第一个位置
为什么我能这样做etaj1 [i] [j] = j + 1;但我不能这样做 etaj1 [i] = i;为什么?
答案 0 :(得分:0)
etaj1是一个二维数组,因此您可以将etaj1 [i]设置为某个一维数组,或者您可以将etaj1 [i] [0]设置为某个值以将数组的第一个元素设置为一些数字。在这种情况下,etaj1的尺寸为1x9,因此您可以将etaj1设为一维数组。
答案 1 :(得分:0)
您在etaj1,etaj2系列中命名的数组都称为二维数组。无论何时定义数组:
int[] array1 = new int[8];
int[][] array2 = new int[8][8];
这些是完全不同的东西;第一个数组(array1)是一维数组,您可以使用一个参数查询任何元素。如果您要绘制array1,它将如下所示:
_________________
|0|1|2|3|4|5|6|7
_________________
请注意,这些数字是数组的索引号。
现在,如果您要绘制array2,它看起来像一个棋盘,起始位置[0,0]是左上角正方形。
希望这有帮助。