Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调试时出现Java.lang.NullPointerException?_Java_Eclipse - Fatal编程技术网

调试时出现Java.lang.NullPointerException?

调试时出现Java.lang.NullPointerException?,java,eclipse,Java,Eclipse,这是我的一点项目代码: public void render(int[] pixels, int offset, int row) { for (int yTile = yOffset <<3; yTile <= (yOffset + height) >>3; yTile++) { int yMin = yTile * 8 - yOffset; int yMax = yMin + 8; if (yMin <

这是我的一点项目代码:

public void render(int[] pixels, int offset, int row) {
      for (int yTile = yOffset <<3; yTile <= (yOffset + height) >>3; yTile++) {
       int yMin = yTile * 8 - yOffset;
       int yMax = yMin + 8;
       if (yMin < 0) yMin = 0;
       if (yMax > height) yMax = height;

       for (int xTile = xOffset <<3; xTile <= (xOffset + width) >>3; xTile++) {
        int xMin = xTile * 8 - xOffset;
        int xMax = xMin + 8;
        if (xMin < 0) xMin = 0;
        if (xMax > width) xMax = width;

        int tileIndex = (xTile &(MAP_WIDTH_MASK)) + (yTile &(MAP_WIDTH_MASK)) * MAP_WIDTH;

        for (int y = yMin; y <yMax; y++) {
         int sheetPixel = ((y + yOffset) & 7) * sheet.width + ((xMin + xOffset) & 7);
         int tilePixel = offset + xMin + y * row;
         for (int x = xMin; x < xMax; x++) {
          int colour = tileIndex * 4 + sheet.pixels[sheetPixel++];
          pixels[tilePixel++] = colours[colour];
         }
        }
      }
     }
 }
}

您能告诉我如何修复此错误吗?

在您的代码中,我没有看到
工作表
的定义。 试着改变它

int colour = tileIndex * 4 + pixels[sheetPixel++];

我假设您试图从
int[]pixels
访问作为函数调用中的参数传递的值。

什么是null?床单?像素?试试看!
int colour = tileIndex * 4 + pixels[sheetPixel++];