Разделить запятую и показать значение по одному на Android - PullRequest
0 голосов
/ 21 ноября 2019
String ecg1 = "10,20,100,-100,20,10,110,-105,15,25"; 
Double.parseDouble(model.getEcg1().split(",") + "\n")

Это не работает. Я хочу, чтобы результат, как показано ниже, то есть значение по одному столбцу мудрый:

10
20
100
-100
20
10
110
-105
15
25

Ответы [ 4 ]

0 голосов
/ 21 ноября 2019

Это не будет работать, так как model.getEcg1().split(",") вернет строковый массив. Вы не можете разобрать весь массив строк, чтобы удвоить это Double.parseDouble(model.getEcg1().split(",")), и добавление \n снова не будет работать.

если вы хотите, чтобы печатался только нужный вывод, попробуйте следующий код

String ecg1 = "10,20,100,-100,20,10,110,-105,15,25";
    Stream<String> stream = Arrays.stream(ecg1.split(","));
    stream.forEach(x -> System.out.println(x));

, если вы хотите сохранить его в коллекции, выполните следующие действия:

String ecg1 = "10,20,100,-100,20,10,110,-105,15,25";
    List<Double> li=new ArrayList<>();
    Stream<String> stream = Arrays.stream(ecg1.split(","));
    stream.forEach(x -> li.add(Double.parseDouble(x)));
0 голосов
/ 21 ноября 2019
String ecg1 = "10,20,100,-100,20,10,110,-105,15,25";
String[] ecg2=ecg1.split(",");

тогда вы можете перебрать ecg2 с помощью обычного цикла

for(int i=0;i<ecg2.length;i++)
{
//ecg2[i] is the element you want
}
0 голосов
/ 21 ноября 2019

Если вы используете Java 8, вы можете просто

String str = String.join("\n", ecg1.split(','));
System.out.println(str);
0 голосов
/ 21 ноября 2019

split создаст массив из String, а не один String, поэтому вы не можете разобрать его в Double. После разбиения ecg1 вы можете перебрать список и распечатать его.

try {
    String ecg1 = "10,20,100,-100,20,10,110,-105,15,25";
    String[] items = ecg1.split(",");
    ArrayList<Double> numbers = new ArrayList();
    for (int i=0; i<items.length; i++) {
        numbers.add(Double.parseDouble(items[i]));
    }
} catch (NumberFormatException e) {
    e.printStackTrace();
}

Вы можете делать все, что угодно, со списком двойных чисел. Double.parseDouble может выдать исключение, чтобы вы могли его перехватить.

Если вы просто хотите сгенерировать строку, значения которой отображаются в виде столбца, будет более простое решение

String ecg1 = "10,20,100,-100,20,10,110,-105,15,25";
String result = ecg1.replace(",", "\n");
...