java - 列表到字符串。安卓

标签 java android arrays

所以我尝试调用包含数组峰值列表的方法。 但我正在从我的文本文件 StringBuilder 中将数组读取为 String。我应该做什么来调用该方法来对该数组执行该函数,然后烘烤结果或 printf。请注意,我的数组具有等间距一维的字符串数字。

String Adata = String.valueOf(stringBuilder);
 // find the peaks
String dataArray[] = Adata.split(" ");
List aa = dataArray;
List a = findPeaks(aa);  // I can't convert to List. 
DataAlert alert = new DataAlert();
alert.show(getFragmentManager(), "DataAlert");
Peaks_value.setText(String.valueOf(a));
 }

    });

}//end OnCreate().

  public static List<Integer> findPeaks(List<Float> points)
{
    ArrayList<Integer> peaks = new ArrayList<Integer>();
    float x1_n_ref = 0;
    int alpha = 0;

    for (int i = 0; i < points.size(); i++) {
        if (x1_n_ref - points.get(i) < 0) {
            x1_n_ref = points.get(i);
            alpha = 1;
        } else if (alpha == 1 && x1_n_ref - points.get(i) > 0) {
            peaks.add(i);
            alpha = 0;
        }
        x1_n_ref = 0;

    }


    return peaks;
}

最佳答案

您需要在数据类型之间正确转换,并确保通用参数匹配:

            //I think using toString makes it easier to read
            String Adata = stringBuilder.toString();
            String dataArray[] = Adata.split(" ");

            //include generic parameter
            List<Float> aa = new ArrayList<Float>();

            //Convert String[] into List<Float>
            for(int i=0;i<dataArray.length;i++){
                //take String i from dataArray, convert it to a float with Float.parseFloat, then add it to your list
                aa.add(Float.parseFloat(dataArray[i]));
            }

            //again, include the generic parameter
            List<Integer> a = findPeaks(aa);

            DataAlert alert = new DataAlert();
            alert.show(getFragmentManager(), "DataAlert");

            //again, using toString
            Peaks_value.setText(a.toString());
        }
    });
}

public static List<Integer> findPeaks(List<Float> points)
{
    ArrayList<Integer> peaks = new ArrayList<Integer>();
    float x1_n_ref = 0;
    int alpha = 0;

    for (int i = 0; i < points.size(); i++) {
        if (x1_n_ref - points.get(i) < 0) {
            x1_n_ref = points.get(i);
            alpha = 1;
        } else if (alpha == 1 && x1_n_ref - points.get(i) > 0) {
            peaks.add(i);
            alpha = 0;
        }
        x1_n_ref = 0;

    }


    return peaks;
}

关于java - 列表到字符串。安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34621782/

相关文章:

php - 在 MySQL 中显示多行

version - 如何在启动前检查 JRE 版本?

Java For 循环构造函数内部无限重复

java - OpenLDAP LDAPConnection.bind() dn 字符串中可以使用通配符吗?

java - VideoView 不工作并且黑屏

c# - 在不同类型的数组上调用 item 方法

java - 检查java变量是否为null,如果是则设置它

java - 将时间戳转换为日期

android - 从 Android Activity 转到主屏幕

javascript - 使用 JavaScript 在数组内均匀分配 2 个不同的值