我在构造函数中收到了一个图形数据结构的ArrayIndexOutOfBoundsException。这是图构造函数的代码:
private final int MAX_VERTS = 24;
private Vertex vertexList[];
private int adjMat[][];
private int nVerts;
private String sortedDepArray[];
private int sortedCrsNumArray[];
public Graph()
{
vertexList = new Vertex[MAX_VERTS];
adjMat = new int[MAX_VERTS][MAX_VERTS];
nVerts = 0;
for(int i = 0; i < MAX_VERTS; i++)
{
for(int j = 0; i < MAX_VERTS; j++)
{
adjMat[i][j] = 0; <------ error happens here
}
}
sortedDepArray = new String[MAX_VERTS];
sortedCrsNumArray = new int[MAX_VERTS];
}//end constructor
当我尝试构建图形时,错误发生在main中:
Graph theGraph = new Graph();
求助谢谢
发布于 2019-01-07 09:15:37
在第二个循环中,您检查i < MAX_VERTS
而不是j < MAX_VERTS
。这意味着你的内部循环变成了一个无限循环,导致索引越界时异常j == MAX_VERTS
发布于 2019-01-07 10:49:38
在你的内循环中,你检查i < MAX_VERTS
而不是j < MAX_VERTS
。
https://stackoverflow.com/questions/-100000969
复制相似问题