用于环路幅度阵列的android

用于环路幅度阵列的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);

我正在做一个项目,要求在应用程序中显示最高震级的地震。我遇到的问题是for循环正在使应用程序崩溃。如果我把for循环取出来,我会得到显示的最低震级地震

我已经检查了日志,但是它没有给我任何关于原因的线索。所以我想要的是一些帮助,来为我指明解决这个问题的方向

谢谢你的帮助

这是密码

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。那为什么要循环工作呢?我被卡住了。