Можно ли сразу преобразовать ввод в двойной массив на Java?JAVA

Программисты JAVA общаются здесь
Anonymous
Можно ли сразу преобразовать ввод в двойной массив на Java?

Сообщение Anonymous »

Мой проект курса по математическому анализу — создать программу, которая находит пересечение любых двух прямых или плоскостей. Однако я не программировал уже год, поэтому многое забыл. Мне кажется, что мой код очень повторяется и его можно упростить.
В этом коде я запрашиваю у пользователя векторы положения и направления двух строк и сохраняю их в двойной массив. Мне было интересно, есть ли более эффективный способ сделать это. Например, можно ли напрямую сохранить входные данные в двойной массив? Спасибо.
System.out.println("Input the position vector of the first line in the format x,y,z with no spaces.");
String posv1 = vscanner.nextLine();
System.out.println("Input the direction vector of the first line in the format x,y,z with no spaces.");
String dirv1 = vscanner.nextLine();
System.out.println("Input the position vector of the second line in the format x,y,z with no spaces.");
String posv2 = vscanner.nextLine();
System.out.println("Input the direction vector of the second line in the format x,y,z with no spaces.");
String dirv2 = vscanner.nextLine();

vscanner.close();

//split all vectors at commas and place in array
String[] posv1s = posv1.split(","); String[] dirv1s = dirv1.split(","); String[] posv2s = posv2.split(","); String[] dirv2s = dirv2.split(",");

//convert string array to double array
double[] posv1d = Arrays.stream(posv1s).mapToDouble(Double::parseDouble).toArray();
double[] dirv1d = Arrays.stream(dirv1s).mapToDouble(Double::parseDouble).toArray();
double[] posv2d = Arrays.stream(posv2s).mapToDouble(Double::parseDouble).toArray();
double[] dirv2d = Arrays.stream(dirv2s).mapToDouble(Double::parseDouble).toArray();


Подробнее здесь: https://stackoverflow.com/questions/785 ... ay-on-java

Вернуться в «JAVA»