1

我得到一个 nullPointerException 试图将文本文件中的值添加到二维数组。前 2 个值确定行和列。任何想法是什么扔了它。忽略异常处理和打印语句。我正在尝试初始化数组,然后将返回并加强一点。

public Help(String filename) throws FileNotFoundException,
        InvalidFileFormatException {
    this.filename = filename;

    System.out.println("Reading in file: " + filename);

    String number = "";
    int row = 0;
    int col = 0;
    int count = 0;

    try {
        Scanner inputFile = new Scanner(new File(filename));

        while (inputFile.hasNextInt()) {
            row = Integer.parseInt(inputFile.next());
            col = Integer.parseInt(inputFile.next());
            System.out.println("Row : " + row);
            System.out.println("Col : " + col);
            baseMap = new double[row][col];
            System.out.println(baseMap[2][4]);
            for (int i = 0; i < baseMap.length; i++){
                for (int j = 0; j < baseMap[i].length; j++){
                    baseMap[i][j] = Double.parseDouble(inputFile.next());
                }
            }
        }
System.out.println(baseMap[2][4]);
    } catch (Exception e) {
        System.out.println(e.toString());
    } 

输出 读取文件:sampleMap2.txt 行:5 Col:5 0.0 线程“main”中的异常 java.lang.NullPointerException

4

1 回答 1

2

您希望在这里看到什么价值;

baseMap = new double[row][col];
System.out.println(baseMap[2][4]);

如果行 == 1 怎么样?

另外,如果在以下位置没有更多数据怎么办:

baseMap[i][j] = Double.parseDouble(inputFile.next());

也许你只是没有足够的数据。

于 2013-09-09T07:59:00.810 回答