【发布时间】:2015-05-09 02:44:13
【问题描述】:
我尝试了我能想到的一切,但老实说,我没有想法。请提供任何可能的提示。
基本上我创建了一个字符串数组并有一个二维数组,我试图用 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!
}
}
老实说,我没有想法,如果有任何帮助,我都会非常感激。
【问题讨论】:
-
你能发布一个你传递给方法的数据样本吗?
-
您的代码无法编译;
ewonInfo是一个未声明的变量。但是这里有一个主要问题:String[][] array = null;。您永远不会将数组分配给array,因此当您尝试在内部 for 循环中访问它时,您会得到一个NullPointerException。 -
ewonInfo是什么,你在哪里声明的? -
是的,我修复了上面的代码,这只是复制和粘贴之间的混乱。更正了,欧文你太棒了!你对我的阵列非常正确。我认为这可能解决了我的 catch 子句没有抛出错误,但现在它是。
-
我实际上声明了我的 String[][] 数组,正如 Erwin 所指出的那样。现在一切都解决了 :) 非常感谢!
标签: java arrays for-loop multidimensional-array