java错误中的Null指针异常

java错误中的Null指针异常,java,nullpointerexception,Java,Nullpointerexception,我已经生成了以下代码,但是它的执行会产生一个空指针异常。出于这个原因,我正在寻求帮助 我想异常是由于指针对象引起的,但我不明白我做错了什么。这是我的密码: import java.util.Random; public class Maze { int width; int length; char elements[][]; boolean visited[][] ; public Maze(int width,int length) { this.width=w

我已经生成了以下代码,但是它的执行会产生一个空指针异常。出于这个原因,我正在寻求帮助

我想异常是由于指针对象引起的,但我不明白我做错了什么。这是我的密码:

import java.util.Random;
public class Maze {
  int width;
  int length;
  char elements[][];
  boolean visited[][] ;

  public Maze(int width,int length) {
    this.width=width;
    this.length=length;
    char elements[][] = new char[width][length];
    boolean visited[][] = new boolean[width][length];

    for(int i=1;i<length-1;i++){
        for(int j=1;j<width-1;j++){
            visited[i][j]=false;
        }
    }

    for(int i=0;i<length;i++){
        visited[0][i] = true;
        visited[width-1][i]=true;

    }

    for(int i=0;i<width;i++){
        visited[i][0]=true;
        visited[i][length-1]=true;
    }

    for(int i=0;i<width;i++){
        for(int j=0;j<length;j++){
            elements[i][j]='X';
        }
    }

  }

  public void generate(){
    Random rn = new Random();
    int start = rn.nextInt(length);
    int end = rn.nextInt(length);
    elements[0][start]='s';
    elements[width-1][end]='e';
    visited[1][start+1]=true;
    elements[1][start+1]=' ';

    for(int i=0;i<width;i++){
        for(int j=0;j<length;j++){
            System.out.println(elements[i][j]);
        }
    }
  }
}

public class MazeLauncher{
    public static void main(String args[]){
        Maze maze = new Maze(4,5);
        maze.generate();
    }
}
import java.util.Random;
公共类迷宫{
整数宽度;
整数长度;
字符元素[];
布尔访问[][];
公共迷宫(整数宽度、整数长度){
这个。宽度=宽度;
这个。长度=长度;
字符元素[][]=新字符[宽度][长度];
访问的布尔值[][]=新的布尔值[宽度][长度];

对于(inti=1;i删除构造函数中的声明

public Maze(int width,int length) {
    this.width=width;
    this.length=length;
    elements = new char[width][length];
    visited = new boolean[width][length];
    ...
}

目前,您正在创建新数组,而不是使用已声明的数组。

请提供NPE堆栈跟踪。可能的副本没有名为“指针”的对象。请发布完整的错误消息,以便我们可以更容易地找到问题。A谢谢,这就是问题所在。我将每个声明而不是变量一个放在生成函数中