Разобрать целые числа из строки Android Java
Привет, я получил следующий код, который я использую, чтобы получить некоторые целые числа из строки. Я успешно разделяю отрицательные и положительные целые, объединяя строку со следующим числом, если символ в индексе "-", и я могу поместить числа в массив целых чисел...
//degree is the String i parse
String together="";
int[] info=new int[degree.length()];
int counter=0;
for (int i1 = 0; i1 < degree.length(); i1++) {
if (Character.isSpace(degree.charAt(i1))==false){
if (Character.toString(degree.charAt(i1)).equalsIgnoreCase("-")){
together="-";
i1++;
}
together = together + Character.toString(degree.charAt(i1));
info[counter]=Integer.parseInt(together);
}
else if (Character.isSpace(degree.charAt(i1))==true){
together ="";
counter++;
}
Но я решаю эту странную проблему... строка выглядит в точности как "4 -4 90 70 40 20 0 -12", и код анализирует и помещает целые числа в массив только в число "0", я имею в виду, я получаю все число негативов и позитивов в моем массиве, кроме последнего числа "-12"... есть идеи?
1 ответ
Решение
Я думаю, что есть гораздо более простое решение вашей проблемы:
// First split the input String into an array,
// each element containing a String to be parse as an int
String[] intsToParse = degree.split(" ");
int[] info = new int[intsToParse.length];
// Now just parse each part in turn
for (int i = 0; i < info.length; i++)
{
info[i] = Integer.parseInt(intsToParse[i]);
}