苦苦挣扎以填充多维数组

时间:2015-05-09 02:44:13

标签: java arrays for-loop multidimensional-array

我尝试了所有我能想到的东西,而且老实说我的想法很少。请提供您可能提供的任何提示。

基本上我创建了一个字符串数组并且有一个二维数组,我试图在for循环中填充另一个数组。发生的事情是当程序点击它停止的第二个循环时。什么都没发生,我无法弄明白为什么!

我已经在几个变体中尝试过循环以及手动填充它,但每次都会发生同样的事情。

我需要什么:

array[][] = {[], [], []}

我得到了什么:nada

public void getEwonData(String data)
{
    JsonParser parser = new JsonParser();

    try
    {
        Object obj = parser.parse(data);
        JsonObject jsonObj = (JsonObject)obj;
        JsonArray arr = jsonObj.get("ewons").getAsJsonArray();
        String[][] array = null;
        for(int i = 0; i < arr.size(); i++)
        {

            JsonObject p = (JsonObject) arr.get(i);
            JsonElement varName  = p.get("name");
            JsonElement varStatus = p.get("status");
            JsonElement varDesc = p.get("description");

            String[] varInfo = {varName.toString(), varStatus.toString(), varDesc.toString()};


             //This is where it stops. 
            for(int x = 0; x <= varInfo.length - 1; x++)
            {
                array[i][x] = varInfo[x];
            }
            //I can't get here!
        }

    }

老实说,我没有想法,对于任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:0)

我假设您打算使用varInfo而不是ewonInfo

代码将是:

try {
    Object obj = parser.parse(data);
    JsonObject jsonObj = (JsonObject) obj;
    JsonArray arr = jsonObj.get("ewons").getAsJsonArray();
    String[][] array = new String[arr.size()][];
    for (int i = 0; i < arr.size(); i++) {

    JsonObject p = (JsonObject) arr.get(i);
    JsonElement varName = p.get("name");
    JsonElement varStatus = p.get("status");
    JsonElement varDesc = p.get("description");

    String[] varInfo = {varName.toString(), varStatus.toString(), varDesc.toString()};
    array[i] = varInfo;
    }

}

答案 1 :(得分:0)

问题已解决。正如一些人所指出的那样,我从未初始化我的阵列。这样做之后,现在一切都很完美。