0

我试图读取存档文件并将其传递给数组,但是当我尝试访问数组 [0] 时,我不断收到空指针异常。当我要求 java 打印数组 [0] 时,它显示为空。这是我阅读文本文件的方式:

int lines= 0;
while(s1.hasNext()) {String line=s1.next(); lines ++; } // The number of lines


int i= 0;

char [][] array= new char [lines][]; 
if (f.exists()) {
while (s1.hasNext()) {
String line= s1.next(); 

int m = line.length();

    for (int j = 0; j < m; j++) {
        array[i][j]=line.charAt(j);
    }

  i++;

} 

}
4

1 回答 1

0

array[0]必须是null,因为您没有为此分配内存。

还有一些问题:

第二个while(s1.hasNext())循环永远不会执行,因为第一个循环将读取整个文件,当它结束时,s1.hasNext()将返回false. 所以第二个循环永远不会运行。

arraylines以数组数量启动char,但没有一个数组被初始化。所以他们都是null。当您尝试访问其中任何一个时,您肯定会得到一个NullPointerException!

于 2012-11-10T14:45:25.757 回答