2009-09-13 54 views
0

我有一個字符串,每次都會有所不同,但遵循 -3.33,-46.53,37.39,26.55,97.11,68.46,-32.46,-5.89, - 62.89,-7.9, 我想刪除每個數字並將其作爲double存儲在數組中。 即使僞代碼將是偉大的我畫空白。 乾杯Java:從字符串中刪除雙精度數並存儲在數組中

+0

乾杯人,只是想知道我會過得更好使用一個ArrayList,因爲我從一個文件,不要讀書不知道每個文件會有多大 – Nick 2009-09-13 16:36:08

+0

您應該嘗試將這個問題作爲一個單獨的問題提供一些更多細節,但是如果您有像這樣的未知數量的行,那麼這就是Array列表的設計目的。如果它全部在一行上,立即讀入內存,那麼預先分配的數組是有道理的。 – Yishai 2009-09-13 17:42:46

+0

謝謝大家,仍然有麻煩,但我會問一個單獨的帖子來澄清事情。再次歡呼。 – Nick 2009-09-13 18:20:00

回答

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); 
相關問題