Как вывести строчку по частям

201
06 июля 2018, 23:00

Есть строка в текстовом файле:

"0  0,21875 -0,02625    0,3625  -1,091  -4,7875 6,875   13,5
            -0,0225 -0,05125    -0,0135625"

Нужно, чтобы каждая подстрока, являющийся цифрой, вводилась в отдельную переменную, подскажите пожалуйста как это сделать?..

Answer 1

а можно так извратиться:

public static void main(String[] args) throws Exception {
    String str = "0  0,21875 -0,02625    0,3625  -1,091  -4,7875 6,875   13,5\n" +
            "            -0,0225 -0,05125    -0,0135625";
    Scanner scanner = new Scanner(new InputStreamReader(new ByteArrayInputStream(str.getBytes())));
    List<Float> numbers = new ArrayList<>();
    while (scanner.hasNext()) {
        numbers.add(scanner.nextFloat());
    }
}

Добавил со Scanner( String )

public static void main(String[] args) {
    String str = "0  0,21875 -0,02625    0,3625  -1,091  -4,7875 6,875   13,5\n" +
            "            -0,0225 -0,05125    -0,0135625";
    Scanner scanner = new Scanner(str);
    List<Float> numbers = new ArrayList<>();
    while (scanner.hasNext()) {
        numbers.add(scanner.nextFloat());
    }
}
Answer 2

Можно получить массив из double

public class App {
        public static void main(String[] args) {
            String str = "0  0,21875 -0,02625    0,3625  -1,091  -4,7875 6,875   13,5\n" +
                    "            -0,0225 -0,05125    -0,0135625";
            String[] strToDoubleArray = (str.replaceAll(",", ".")).split("\\s+");
            double[] doubleArray = new double[strToDoubleArray.length];
            for (int i = 0; i < strToDoubleArray.length; i++) {
                doubleArray[i] = Double.valueOf(strToDoubleArray[i]);
            }
        }
    }

И затем использовать элементы искомого массива doubleArray как вам нужно.

Answer 3

Как вариант можно так:

 public static double[] readFile(String path) throws URISyntaxException, IOException {
            return Files.lines(Paths.get(ReadFile.class.getResource(path).toURI()), StandardCharsets.UTF_8)
                    .map(s -> s.split(" "))
                    .flatMap(Arrays::stream)
                    .filter(i -> !i.isEmpty())
                    .mapToDouble(Double::valueOf)
                    .toArray();
    }
Answer 4
        String [] str_tr;
        String delimeter = "\t"; // Разделитель
        str_tr = str_track.split(delimeter); 

Решила проблему таким образом.

READ ALSO
Android Toolbar

Android Toolbar

Всем саламКак сделать toolbar как на фото:

148
Запись в csv файл в разные ячейки

Запись в csv файл в разные ячейки

Мне нужно, чтобы данные из массива выводились в csv файл в строчку(чтобы в последующем в excele они были в разных ячейках) Вот код: Я создала сам...

201
Cannot resolve symbol Theme из-за gradle

Cannot resolve symbol Theme из-за gradle

Когда добавляю classpath в первый файл buildgradle

204