1
Level.java 클래스의 함수가 내 프로그램에서 언제든지 2D 배열 복사본을 만들 수 있다는 것을 제외하고 수준 배열의 크기를 변경하고 copy 및 at의 값으로 채 웁니다 마지막으로 표시합니다.Nullpointer 예외로 2 차원 배열을 인수로 사용 함
내 프로그램을 실행하려고하면 Level.java (값을 대체하는 부분)의 24 행에 NullPointerException이 표시됩니다.
Game.java 클래스
package main;
public class Game {
public static void main(String[] args) {
Level lvl = new Level();
char[][] exampleLevelTemplate = new char[][] {
{'#','#','#'},
{'#','#','#'},
{'#','#','#'}
};
lvl.setLevelSize(3,3);
lvl.setLevelLayout(exampleLevelTemplate);
lvl.displayLevel();
}
}
Level.java 클래스
package main;
public class Level {
private int levelWidth;
private int levelHight;
private char[][]level;
public void setLevelSize(int Width,int Height)
{
levelWidth = Width;
levelHight = Height;
char[][]level = new char[levelWidth][levelHight];
}
public void setLevelLayout(char[][]levelTemplate)
{
int a;
int b;
for(a=0; a < levelWidth; a++)
{
for(b=0; b<levelHight; b++)
{
level[a][b] = levelTemplate[a][b]; //Error happens here
}
}
}
public void displayLevel()
{
int a;
int b;
for(a=0; a < levelWidth; a++)
{
for(b=0; b<levelHight; b++)
{
System.out.println(level[a][b]);
}
}
}
}