Преобразовать строку чисел в массив в Java, где каждый номер - это отдельный слот - PullRequest
2 голосов
/ 22 января 2012

Предположим, у меня есть строка 123456789.Я хотел бы разбить эту строку, и каждый номер идет в разные слоты в массиве.Я не могу использовать метод split(), потому что нечего разделять.Как бы я сделал это в Java.

Ответы [ 5 ]

6 голосов
/ 22 января 2012
int x=123456789;
char[] array = x.toString().toCharArray();

int intarray[] = new int[array.length];
for (int i = 0; i < array.length; i++) {
intarray[i] = Integer.parseInt(array[i]);
}

И после этого вы intarray будете массивом ваших чисел. Если ваше целое число также может быть отрицательным, вы должны принять его абсолютное значение и выполнить те же операции, а после этого кратно первому значению массива -1 Но я думаю, это не нужно.

EDIT:

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

string x="123456789";
char[] array = x.toCharArray();
4 голосов
/ 22 января 2012

Если вы имеете дело только с неотрицательными целыми числами, вам подойдет метод toCharArray(). Это дает вам строку в виде массива.

3 голосов
/ 22 января 2012

Класс String имеет удобный метод для этого, toCharArray () .

2 голосов
/ 22 января 2012

Вы можете использовать следующее, чтобы избежать создания строк.

long x = x;
ByteBuffer bb = ByteBuffer.allocate(18);
if (x == 0) {
    bb.put((byte) 0);
} else {
    while (x > 0) {
        bb.put((byte) (x % 10));
        x /= 10;
    }
}
int len = bb.position();
byte[] digits = new byte[len];
for (int i = 0; i < len; i++)
    digits[i] = bb.get(len - i - 1);
1 голос
/ 22 января 2012

обязательно ли, чтобы данные были однозначными? Если данные могут состоять из нескольких цифр, то невозможно будет определить, является ли числовое значение однозначным или многозначным?Например, если это 12 (двенадцать), то если вся строка 512, то как вы определите, представлять ли 512 как 5,1,2 или 5,12?если будет исправлено, что числа будут состоять из одной цифры и не будут иметь отрицательный знак, тогда класс toCharArray() из String будет работать для вас

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...