2016-01-23 1 views
3

Я пытаюсь разбить строку как код нижеразделение строк не работают в Java не может импортировать `split`

String []data = {"3.5,2.3,4.2,5.4,7.4,2.7"}; 
String s[] = data.split("\\,"); 

double point3[] = new Double [s.length]; 
double allPoint[] = new double [s.length]; 

for (int i = 0; i < s.length; i++){ 
    point3[2] = Double.parseDouble(s[2]); 
    //lng[i] = Double.parseDouble(s[i]); 
    allPoint[i] = Double.parseDouble(s[i]); 
} 

Я также попытался с data.split(",");Но проблема не с обратными косыми чертами, его дает ошибку в split и намек показывает, что

не может найти символ, символ: метод раскола (String)

Я не могу импортировать split что теперь делать.

+2

Вам нужна строка для использования 'split()' not array. –

+0

Спасибо @InzimamTariqIT –

+0

'data [0] .split (", ");' также может работать в случае массива. –

ответ

6

Метод split() относится к String, а не к Array. Чтобы сделать эту работу, вы должны определить свои данные как String data = "3.5,2.3,4.2,5.4,7.4,2.7";.

+3

Спасибо +1 за ваш ответ –

0

Здесь data представляют собой строковый массив. И данные присутствуют в позиции 0. Для получения данных из массива данных используется data[0].

Этот код должен работать для вас:

String []data = {"3.5,2.3,4.2,5.4,7.4,2.7"}; 

String s[] = data[0].split("\\,"); 

double allPoint[] = new double [s.length]; 
for (int i = 0; i < s.length; i++){ 
     System.out.println(s[i]); 
} 

Output : 
    3.5 
    2.3 
    4.2 
    5.4 
    7.4 
    2.7 
+0

Да его работа Но зачем индексу 0 необходимо разбить –

+0

Хорошо, спасибо! –

0

выше решение является правильным Но это также можно сделать с помощью массива, как data[0].split(",");.

Потому что в случае, если данные массива находятся на 0-м индексе, и мы можем разбить его на его индексное значение.

И если вы используете это:

двойной point3 [] = новый двойной [s.length];

это означает, что вы делаете объект double потому Double с капиталом D указывают на объект. ваш массив allpoint[] может работать правильно.

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