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

标签 java string nullpointerexception

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

抛出它的线是-

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

即填充它的第一行。我查了一下,并在 createPathingTriangle 中的代码周围自由地撒上了"new",但它似乎没有解决问题。我假设它与 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;
}

最佳答案

您永远不会初始化数组的第二个维度pathingTriangle = new String[triangleSize][];

这是在第一个函数中完成的int [] xAxis = new int[triangle.length - y];

关于java - 字符串数组中的空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25564627/

相关文章:

java - 数据未插入数据库 JPA+Hibernate

java - 如何使用java在elasticsearch SearchQuery中指定 "start"文档? (跳过文件数量)

java - Cassandra 抛出 OutOfMemory ;怎么调?

java - 忽略字符串中的重复项并打印一次字符串

ruby - 查找字符串中的出现并保留出现的顺序

java - 将字符串表达式拆分为标记

java - 尝试为 4 个简单条件创建正则表达式

android - Service.startForeground() 在使用 ServiceTestCase 运行时抛出 NullPointerException

java - Google Maps API v2 调用 getmap() 抛出 NullPointerException

java - 什么是NullPointerException,我该如何解决?