Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
路径查找中的Java节点_Java_Swing_Nodes_Path Finding - Fatal编程技术网

路径查找中的Java节点

路径查找中的Java节点,java,swing,nodes,path-finding,Java,Swing,Nodes,Path Finding,您好,我正在使用A*和Dijkstra算法进行这个新的Java swing寻路项目,我已经使我的程序运行良好,但我想在节点[x][y]之前为节点添加第三个值,但我正在尝试使其采用第三个值,即θ,或者在本例中为机器人角度,节点[x][y][θ。当我这样做的时候,我得到了一个错误,老实说,我不知道该怎么做,甚至添加这个。绘制开始或结束节点后,程序当前会提示您输入机器人角度或θ 这是我的github项目回购协议,它还没有更新,所以一切都应该是正常的项目是在FrcVersion下。 这就是我的错误所在

您好,我正在使用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的循环,并使用循环索引变量