2015-05-22 3 views
0

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

String x = "10 20 30 40"; 

Есть ли способ, чтобы преобразовать его в целочисленный массив, как это?

int[] y = {10, 20, 30, 40}; 
+1

да, есть. .. –

+0

Есть ли встроенный метод в java, который может это сделать? –

+1

'string.split()' –

ответ

2
int[] convert(String x){ 
    String[] val = x.split(" "); 
    int[] arr = new int[val.length]; 
    for (int i = 0; i < val.length; ++i){ 
      arr[i] = Integer.parseInt(val[i]); 
    } 
    return arr; 
} 
+0

теперь он провалит свой курс;) – MRK187

+0

'val.size' ??? ... –

+0

Не должно быть int [] arr = new int [val.size] ;, оно должно be int [] arr = новый int [val.length]; Надеюсь, это тип. – Bikku

5

В функциональном способом, с использованием Java 8 потоков:

int[] y = Arrays.stream(x.split(" ")).mapToInt(Integer::parseInt).toArray(); 
-1

Может быть что-то вроде этого, чтобы вы начали с вашим назначением? :) Использование метода разделения строк с регулярными выражениями.

String x = "10 20 30 40"; 
String[] cut = x.split(" "); 

Теперь у вас есть массив в разрезе. Затем вам нужно пройти через это и получить значение Integer для строк и сделать все, что вам нужно.

счастливое кодирование!

+0

Почему это было неверно, вы должны сделать свое исследование, вместо того чтобы публиковать ваши задания здесь – MRK187

-4

Вы можете комбинировать функции, такие как C++

находка (характер, диапазон)

и

подстрока (начальная позиция, диапазон)

и счетчик для увеличения начальной позиции

создать вектор с элементами, как srting

и, наконец, разобрать все элементы в Int типа

(я Жду знаю, как сделать это в Java)

+5

Вопрос о Java - если вы не знаете, как это сделать на Java, вам лучше не отвечать на вопрос. Как это сделать на C++ не полезно для человека, который задал вопрос. – Jesper

Смежные вопросы