Есть строка
46 55 66 95
Нужно ёё переоразовать в масив. P.S. Числа могут быть любой длинны!
Олдскул
String text = "46 55 66 95";
ArrayList<Integer> numbers = new ArrayList<>();
for (String part : text.split("\\s")) {
numbers.add(Integer.parseInt(part));
}
StreamAPI (Java 8+)
String text = "46 55 66 95";
int[] numbers = Arrays.stream(text.split("\\s"))
.mapToInt(Integer::parseInt)
.toArray();
Стоит иметь в виду, что если в тексте вдруг окажутся не числовые символы, то Integer.parseInt()
выбросит NumberFormatException.
Ну используйте, например, Scanner
String data = "46 55 66 95";
try (Scanner s = new Scanner(data)) {
while (s.hasNextInt()) {
int num = s.nextInt();
System.out.println(num);
}
}
Если коллекции и списки не разбирал еще то вот моё решение:
String string = "4666 155 0 -95";
int count = 1;
char space = ' ';
for (int i = 0; i < string.length(); i++) {
if (string.charAt(i) == space) {
count++;
}
}
int[] array = new int[count];
count = 0;
int beginNumber = 0;
int endNumber;
for (int i = 0; i < string.length(); i++) {
if (string.charAt(i) == space) {
endNumber = i;
array[count] = Integer.parseInt(string.substring(beginNumber, endNumber));
count++;
beginNumber = endNumber + 1;
} else if (i == string.length() - 1) {
array[count] = Integer.parseInt(string.substring(beginNumber, string.length()));
}
}
System.out.print("int array: ");
for (int anArray : array) {
System.out.print(anArray + " ");
}
System.out.println();
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Каким образом создать документ формата doc ? Если можно, с примером
Доброго времени сутокУ меня такой вопрос, как реализовать вытаскивание(выдергивание меню), как панель уведомлений в андроид
Можно ли в VSCode настроить форматирование HTML кода так, чтоб не форматировалось по атрибутам тега по атрибутам, а перенос осуществлялся по параметру...