현재 미로에 대한 그리드를 나타내는 2D 배열을 만들었습니다. 내가 눈치 챘을 디버깅하는 동안 CURR가로 초기화된다2D 배열 초기화 오류
Maze m = new Maze(4, 4);
을하지만, 내 미로를 통과하고 때 : 내 테스트 클래스에 다음과
public Maze(int rows, int columns)
{
this.rows = rows;
this.cols = columns;
curr = new Square[rows][columns];
}
: 내 미로 생성자는 다음과 같다 열에 대한 인수가없는 Square [4] [] 누구든지이 문제가 여기에 무엇인지 알 수 있습니까?
편집 : 이것이 내가하려는 의도입니다. curr = Square [rows] [columns]를 만들지 만, 다음 루프에서 curr의 값을 검사 할 때 디버거 도구 curr에 curr [i] [j]에 들어갈 때마다 Square [4] [] 값이 있습니다. ] 루프에서.
for(int i = 0; i < maze.length; i++)
{
for(int j = 0; j < maze[i].length; j++)
{
/* Entrance */
if(maze[i][j] == start)
{
startX = j;
startY = i;
curr[i][j] = new Square(i, j, start, this);
}
/* Exit */
else if(maze[i][j] == end)
{
endX = j;
endY = i;
curr[i][j] = new Square(i, j, end, this);
}
/* Traversable Squares */
else if(maze[i][j] == traverse)
{
curr[i][j] = new Square(i, j, traverse, this);
}
/* Non-traversable Squares */
else
{
curr[i][j] = new Square(i, j, noTraverse, this);
}
}
}
curr을 할당 할 때 디버거를 사용하여 여기에서 단계별로 열 값을 확인합니다. 그리고 이것이 Square [4] []로 초기화된다는 것을 어떻게 알 수 있습니까? – ajon
내 미로를 통과하기 위해 디버거를 사용할 때 curr은 항상 Square [4] [] – user1660285
Square [4] []는 무엇을 의미합니까? 스퀘어 [4] [0]과 같은 것을 의미합니까? – Cemre