java - 将二维字符串数组转换为二维整数数组

标签 java

我不断收到空指针异常,但我不知道为什么。请解释一下。

public static int[][] convertStringToInt(String[][] array){

    int [][] numbers = new int [array.length][];
    for(int row = 0; row < array.length; row++)
    {
        numbers[row] = new int [array[row].length];                //line 48
        for(int col = 0; col < array[row].length; col++)
        {
            numbers[row][col] = Integer.parseInt(array[row][col]);
        }
    }
    return numbers;
}



public static void main (String[] agrs)
{

    File selectedFile = selectFile("Enter fileName for double number, EX:    
                      decimalNumbers.csv");
    if( !selectedFile.exists())
    {
       System.out.print("\nFile does not exit, program terminating\n\n");
       System.exit(1);
    }

    int countLines = countLinesInFile(selectedFile);
    String cities [][] = loadArrayFromFile(selectedFile, countLines);

    int [][] unitsSold = convertStringToInt(cities); //line 157

    System.out.println(unitsSold);
 }

这是我输入文件名时出现的错误

Exception in thread "main" java.lang.NullPointerException
at labReview.ArrayOfArrays.convertStringToInt(ArrayOfArrays.java:48)
at labReview.ArrayOfArrays.main(ArrayOfArrays.java:157)

最佳答案

方法convertStringToInt工作正常。您描述的异常 NullPointerException 可能发生在该行

numbers[row] = new int[array[row].length];

如果数组[行]null。因此,可能会发生错误,因为 loadArrayFromFile 方法返回 null 行,如下所示(例如):

String[][] s = { { "1", "2", "3" }, { "1" }, null, { "3", "4" } };

打印 loadArrayFromFile 方法返回的数组中的元素,以查看是否有 null 行。

关于java - 将二维字符串数组转换为二维整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21449251/

相关文章:

java - JPA 关系实体在数据库上更新,但不在现场更新

java - java中ArrayList的indexOf()返回-1

java.sql.SQLException : Access denied for user 'root' @'localhost'

java - Collections.sort 不适用于自定义比较器?

Java小程序: How to tell the browser (Firefox) where to look for libraries (jars)

java - 如何从另一个包访问 protected 变量

java - 从 Jhipster 中的 URL 中删除哈希 (#)(java 和 angular 6)

java - 使用 Canvas android拉伸(stretch)图像

java - 获取帐户 android 的身份验证 token 时显示对话框

java - 在 for 循环中使用数组元素作为终止