用于环路幅度阵列的android
我正在做一个项目,要求在应用程序中显示最高震级的地震。我遇到的问题是for循环正在使应用程序崩溃。如果我把for循环取出来,我会得到显示的最低震级地震 我已经检查了日志,但是它没有给我任何关于原因的线索。所以我想要的是一些帮助,来为我指明解决这个问题的方向 谢谢你的帮助 这是密码用于环路幅度阵列的android,android,arrays,for-loop,netbeans-8.1,Android,Arrays,For Loop,Netbeans 8.1,我正在做一个项目,要求在应用程序中显示最高震级的地震。我遇到的问题是for循环正在使应用程序崩溃。如果我把for循环取出来,我会得到显示的最低震级地震 我已经检查了日志,但是它没有给我任何关于原因的线索。所以我想要的是一些帮助,来为我指明解决这个问题的方向 谢谢你的帮助 这是密码 private void DisplayInfo(String result){ try{ JSONObject jsonObject = new JSONObject(result);
private void DisplayInfo(String result){
try{
JSONObject jsonObject = new JSONObject(result);
JSONArray arr = new JSONArray(jsonObject.getString("earthquakes"));
for (int a = 0; a<arr.length(); a++){
JSONObject element = arr.getJSONObject(a);
//Toast.makeText(getBaseContext(), element.getString("magnitude"), Toast.LENGTH_LONG).show();
int[] magnitude = new int[]{0};
Arrays.sort(magnitude);
int max = magnitude[magnitude.length - 1];
for(int i =0; i < magnitude.length; i++){
if(magnitude[i] > max){
max = magnitude[i];
// Toast.makeText(getBaseContext(), element.getString("hello World") + max, Toast.LENGTH_LONG).show();
String value;
value = "Country Name: " + element.getString("src")
+ ("\n") + "Date & Time: " + element.getString("datetime")
+ ("\n") + "Magnitude: " + element.getString("magnitude");
TextView text = new TextView (this);
text.setText(value);
setContentView(text);
Log.d ("String Value >>>>>", value);
}
}
}
}
也许你应该粘贴你的车祸信息。
如果捕获到异常,则应检查异常信息。或者仅为JSON添加try-catch块,不包括所有代码。
最后,您可以添加一个断点,使用逐步调试代码。我认为您应该注意类型强制转换和元素.getString(是否为null?)。您能用postyou is right复制LogCat数据吗?我的for循环返回null。如果我硬编码数组并删除for循环,它将找到最大的double。那为什么要循环工作呢?我被卡住了。