路径查找中的Java节点
您好,我正在使用A*和Dijkstra算法进行这个新的Java swing寻路项目,我已经使我的程序运行良好,但我想在节点[x][y]之前为节点添加第三个值,但我正在尝试使其采用第三个值,即θ,或者在本例中为机器人角度,节点[x][y][θ。当我这样做的时候,我得到了一个错误,老实说,我不知道该怎么做,甚至添加这个。绘制开始或结束节点后,程序当前会提示您输入机器人角度或θ 这是我的github项目回购协议,它还没有更新,所以一切都应该是正常的项目是在FrcVersion下。 这就是我的错误所在路径查找中的Java节点,java,swing,nodes,path-finding,Java,Swing,Nodes,Path Finding,您好,我正在使用A*和Dijkstra算法进行这个新的Java swing寻路项目,我已经使我的程序运行良好,但我想在节点[x][y]之前为节点添加第三个值,但我正在尝试使其采用第三个值,即θ,或者在本例中为机器人角度,节点[x][y][θ。当我这样做的时候,我得到了一个错误,老实说,我不知道该怎么做,甚至添加这个。绘制开始或结束节点后,程序当前会提示您输入机器人角度或θ 这是我的github项目回购协议,它还没有更新,所以一切都应该是正常的项目是在FrcVersion下。 这就是我的错误所在
map = new Node[cellsWidth][cellsHeight][(int) theta];
for (int x = 0; x < cellsWidth; x++) {
for (int y = 0; y < cellsHeight; y++) {
map[x][y][(int) theta] = new Node(2, x, y, theta);
//sets all nodes to blank
}
}
map=newnode[cellsWidth][cellsHeight][(int)theta];
对于(int x=0;x
这是错误消息
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2
at FRCVersion.FrcApp.cleanMap(FrcApp.java:115)
at FRCVersion.FrcApp.<init>(FrcApp.java:97)
at FRCVersion.Main.main(Main.java:5)
线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:索引2超出长度2的界限
位于FRCVersion.frcap.cleanMap(frcap.java:115)
在FRCVersion.frcap.(frcap.java:97)
位于FRCVersion.Main.Main(Main.java:5)
我想提前感谢大家的帮助和建议。
我很抱歉,如果这看起来像是我在做一些愚蠢的事情,那是我第一次使用节点,而且还在学习
map=new Node[cellsWidth][cellsHeight][(int)theta]
-因此θ
是您定义的尺寸之一。这意味着索引从[0,…,θ-1]
开始。但是在这里map[x][y][(int)theta]
您尝试访问超出范围的索引theta
。这是否回答了您的问题?现在还不清楚θ是节点的属性还是第三维度,如果它是像x和y这样的维度,那么应该添加第三个从0到θ-1的循环,并使用循环索引变量