【发布时间】:2020-07-18 15:21:03
【问题描述】:
我在业余时间学习了一些Java,并且我是初学者,所以如果我不理解一些简单的概念,我很抱歉。我一直在尝试围绕已经制作的地图进行“机器人”移动。我一直在尝试将文本文件的行变成多个数组(即向前移动、向左转、向右转)。然后,我一直在尝试使用这些数组中的值来使机器人移动。基本上,如果文本文件说:
1 0 0
0 1 0
0 0 1
所以第一行是移动,第二行是左转,第三行是左转。这应该使机器人移动,然后不转动。然后它移动到下一列并且不移动,向左转,并且不向右转。无论代码多长,我都在努力确保它能够正常工作。我能够正确地将它放入三个数组中,但是我在使用这个 for 循环时遇到了问题。当循环执行并且值全部为 1 或以上时,它可以完美运行。但是,如果任何值为 0,则它完全退出循环并且机器人不会移动。任何帮助或建议将不胜感激!谢谢!
代码如下:
public static void robotMove(Robot x) throws Exception {
for (int i = 0; i < movedata.length; i++) {
int y = movedata[i];
int s = leftdata[i];
int j = rightdata[i];
for (int a = 0; a < movedata.length; a++) {
if (y == 0) {
//asking what to put here
}
else {
again.Move(x, y);
}
if (s == 0) {
//asking what to put here
}
else {
again.Left(x, s);
}
if (j == 0) {
//asking what to put here
}
else {
again.Right(x, j);
}
}
}
【问题讨论】:
标签: java loops for-loop if-statement