将元素添加到数组

时间:2017-01-02 19:38:01

标签: java android arrays

我得到了第一堂课

 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;为什么?

2 个答案:

答案 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]是左上角正方形。

希望这有帮助。