2015-04-04 131 views
0

對於一個項目,我必須將一個字符串數組拆分爲單獨的數字,然後通過將數字解析爲一個雙數組來設置一個序列。無法將double轉換爲double [] error

這是我的代碼至今:

import java.util.ArrayList; 

public class Sequence 
{ 
    // the numbers in the sequence 
    private double[] sequence; 

    // sets up sequence by parsing s 
    public Sequence(String s) 
    { 
     String[] numbers = s.split(", "); 
     double[] storage = new double [numbers.length]; 
     for (int x = 0; x < numbers.length; x = x+1) { 
     storage = Double.parseDouble(numbers[x]); 
     } 
    } 

出於某種原因,當我嘗試編譯此我得到一個錯誤說

不兼容的類型:雙不能轉換爲double []

我已經在線尋找解決方案,但我是一個完整的初學者在Java,真的不知道該怎麼做。

爲什麼我得到這個錯誤,我該如何解決它,特別是不必添加其他我不明白的方法?

在此先感謝

+1

當你使用'storage = Double.parseDouble(numbers [x])'時,將存儲想象成一個雙打的書;'你忘記告訴它存儲器中你想要放置什麼「頁面」。 ('storage [page] = Double.parseDouble(numbers [x]);')編輯:我沒有看到這個評論前發佈的答案。 – DeadChex 2015-04-04 05:30:08

回答

2

storage[x] = Double.parseDouble(numbers[x]); 

docs

公共靜態雙parseDouble(String s)將

返回一個新的雙初始化值 由指定的String表示,如由類Double的valueOf 方法執行的。

存儲是一個數組,以便編譯器說incompatible types:double cannot be converted to double[]。相反可以將每個元件一個接一個地通過指定數組索引storage[index]存儲。

0

storage是存儲內容的陣列。它的類型爲double[]。你在做什麼是這句話的調用分配doubledouble[]

storage = Double.parseDouble(numbers[x]); 

你想每個元素存儲在存儲陣列從數字陣列的一些其他元素的解析結果內。使用以下語法來代替:

storage[x] = Double.parseDouble(numbers[x]); 
0

存儲是保持雙精度值,同時Double.parseDouble返回一個雙數組,因此應該使用

存儲[X] = Double.parseDouble(數字[X] );

相關問題