Android 为什么此for循环在结束之前退出?
我有一个for循环,它从JSON文件填充Mymatrix(17,27)。 问题是,当我调试它时,我发现每次I=96,即j=3和k=15时,它都会退出循环。(我还提到len=459)Android 为什么此for循环在结束之前退出?,android,for-loop,xamarin,Android,For Loop,Xamarin,我有一个for循环,它从JSON文件填充Mymatrix(17,27)。 问题是,当我调试它时,我发现每次I=96,即j=3和k=15时,它都会退出循环。(我还提到len=459) try { JSONObject myjson = new JSONObject(the_json); JSONArray nameArray = myjson.Names();
try
{
JSONObject myjson = new JSONObject(the_json);
JSONArray nameArray = myjson.Names();
len = nameArray.Length();
for (int i = 0; i < len; i++)
{
name = nameArray.GetString(i);
JSONArray json_array = myjson.GetJSONArray(name);
j = (int)(Integer.ValueOf(name)) / 27;
k = (int)(Integer.ValueOf(name)) % 27;
myMatrix[j, k] = json_array.GetDouble(a); //a=0
}
}
catch (JSONException e)
{
e.PrintStackTrace();
}
试试看
{
JSONObject myjson=新的JSONObject(_json);
JSONArray nameArray=myjson.Names();
len=nameArray.Length();
对于(int i=0;i
你能帮我找出为什么我会有这个问题吗 您尝试过干净的构建吗?如果
len=459
并且您说它在i=96
处中断,这意味着在循环中抛出了一个异常,您应该有一些日志。如果不使用包装它中断的位置,请尝试{}catch()
,这样您就可以理解这个案例,我已经这样做了,不会引发异常。。编辑不要用try catch
包装循环
包装循环中的逻辑可能提供可以在某处看到的json的ascii版本。github上的要点,或云中共享的某些文件。
try
{
JSONObject myjson = new JSONObject(the_json);
JSONArray nameArray = myjson.Names();
len = nameArray.Length();
for (int i = 0; i < len; i++)
{
name = nameArray.GetString(i);
JSONArray json_array = myjson.GetJSONArray(name);
j = (int)(Integer.ValueOf(name)) / 27;
k = (int)(Integer.ValueOf(name)) % 27;
myMatrix[j, k] = json_array.GetDouble(a); //a=0
}
}
catch (JSONException e)
{
e.PrintStackTrace();
}