public class Ctrl {
Graph g = new Graph();
Edge[] edges = new Edge[g.getM()];
int[] verteY = new int[g.getM()];
int[] verteX = new int[g.getM()];
int[] vCost = new int[g.getM()];
int contor=0;
public void add(int x,int y,int c) {
System.out.println("contor:" + this.contor);
System.out.println("M:" + g.getM());
verteX[this.contor] = x;
verteY[this.contor] = y;
vCost[this.contor] = c;
this.contor = this.contor + 1;
}
,输出
contor:0
M:5
为什么我会得到java.lang.ArrayIndexOutOfBoundsException: 0
?
答案 0 :(得分:3)
新的Graph
getM()
似乎有可能返回零,使所有四个数组都为零。
如果g.getM()
稍后更改,则阵列不会自动调整大小。
我的建议是使用ArrayList
而不是原始数组。这样可以很容易地附加到它们身上。