2015-10-12 125 views
1

我是Java的新手,所以如果我的問題沒有意義,那麼請建議改進​​它,以便我的問題得到解答。如何賦值給二維數組?

這就是我如何初始化數組。

public static String[][] data = null; 
String[] ReadValue= new String[3]; 
int p = 0; 

我正在讀取CSV文件的元素並嘗試將其放入JTable。以下是從CSV文件提供給二維數組的代碼。它會拋出NullPointerException錯誤,當我嘗試將值分配給二維數組。

In Line - data[p][i] = ReadValue[i].trim(); 

我的代碼:

br = new BufferedReader(new FileReader(csvFile)); 

while ((line = br.readLine())!= null) {   
     ReadValue= line.split(csvSplitBy); 

     for (int i = 0; i < ReadValue.length; i++){    
      data[p][i] = ReadValue[i].trim(); 
     // System.out.println(""+ReadValue[i].toString()); 
    } 
    p++; 
} 

錯誤:

java.lang.NullPointerException 
at com.srinar.graphicsTest.JtableTest.LoadCSVdata(JtableTest.java:82) 
JtableTest.java:82 : -  data[p][i] = ReadValue[i].trim(); 
+0

1)爲了更好地幫助越早,張貼[MCVE]或[簡要,獨立的,正確的示例](http://www.sscce.org/)。 2)請參閱[什麼是堆棧跟蹤,以及如何使用它來調試我的應用程序錯誤?](http://stackoverflow.com/q/3988788/418556)&[什麼是空指針異常,以及如何我修復它?](http://stackoverflow.com/q/218384/418556) –

回答

1

你必須選擇你想在其上存儲的行和列數初始化數組。

例如:

public static String[][] data = new String[rowNum][colNum]; 
+0

非常感謝埃蘭。它有幫助。 –