字符串数组中的空指针异常

时间:2014-08-29 08:38:23

标签: java string nullpointerexception

我在createPathingTriangle()方法中创建了createTriangle()的阴影。 createTriangle工作正常,但是当我创建使用String而不是int的相同尺寸的createPathingTriangle时,新的三角形开始抛出NPE。

投掷它的线是 -

pathingTriangle[y][x] = new String("00" + String.valueOf(x));

即。第一行填充它。我查了一下,然后大量地撒了#34;新的"围绕createPathingTriangle中的代码,但它似乎没有解决问题。我假设它与int是一个原始但String不是这样的事实有关,但是数小时的摆弄而没有给出。

private int[][] createTriangle() {
    triangle = new int[triangleSize][];
    for (int y = 0; y < triangle.length; y++){
        int [] xAxis = new int[triangle.length - y];
        for (int x = 0; x < xAxis.length; x++){
            xAxis[x] = (int) (Math.random() * 100);
        }
        triangle[y] = xAxis;
    }
    printTriangle(triangle);
    return triangle;
}

private String[][] createPathingTriangle() {
    pathingTriangle = new String[triangleSize][];

    for (int y = 0; y < pathingTriangle.length; y++){
        for (int x = 0; x < pathingTriangle.length - y; x++){
            if (x < 10){
                pathingTriangle[y][x] = new String("00" + String.valueOf(x));
            }
            else if (x < 100){
                pathingTriangle[y][x] = new String("0" + String.valueOf(x));
            }
            else{
                pathingTriangle[y][x] = new String(String.valueOf(x));
            }
        }
    }
    return pathingTriangle;
}

1 个答案:

答案 0 :(得分:3)

您永远不会初始化数组pathingTriangle = new String[triangleSize][];

的第二个维度

这是在第一个问题int [] xAxis = new int[triangle.length - y];

中完成的