2009-09-13 2 views
0

У меня есть строка, которая будет отличаться каждый раз, но следуйте по форме -3.33, -46.53,37.39,26.55,97.11,68.46, -32.46, -5.89, - 62.89, -7.9, , и я хочу удалить каждое число и сохранить в виде двойника в массиве. Даже псевдокод будет большим, я рисую пробел. ПриветствиеJava: Удалить двойную строку и сохранить в массиве

+0

Cheers людей, просто интересно, я был бы лучше использовать ArrayList, как я чтение из файла и дону Не знаю, насколько велики каждый файл. – Nick

+0

. Попробуйте расспросить об этом как отдельный вопрос с некоторыми подробностями, но если у вас есть неизвестное количество строк, подобных этим, то это то, для чего был создан список массивов. Если он находится на одной строке, сразу прочитайте в памяти, то заранее определенный массив имеет смысл. – Yishai

+0

Спасибо, ребята, все еще есть проблемы, но я спрошу в отдельном посте, чтобы прояснить ситуацию. Приветствует снова. – Nick

ответ

4
String[] doubles = myString.split(","); 

затем перебрать парной массив и сделать Double.parseDouble();

0

Может быть что-то вроде:

String[] sa = yourString.split(","); 
Double[] da = new Double[sa.length]; 
int idx = o; 
for(String s : sa) { 
    da[idx++] = Double.parseDouble(s); 
} 
1

Альтернативного способа, считывает информацию из файла и разбирает предметы, как твои читают.

static java.util.ArrayList<Double> getData(String filename) throws FileNotFoundException { 
    java.util.ArrayList<Double> result = new java.util.ArrayList<Double>(); 
    java.util.Scanner sc = new java.util.Scanner(new java.io.File(filename)); 

    sc.useDelimiter(","); 
    while (sc.hasNext()) 
     result.add(Double.parseDouble(sc.next())); 
    sc.close(); 

    return result; 
} 

Если вы хотите, вы можете просто хранить их в массиве как:

Double data[] = null; 
    getData("input.dat").toArray(data); 
Смежные вопросы