【发布时间】:2014-03-10 16:14:15
【问题描述】:
我的问题是:
- 此代码是否正确,是否正确分配给车轮速度和持续时间
- 我需要做什么才能添加main方法来运行代码
- 使用 for 循环遍历每一行,指示 Finch 机器人根据每行中的数字移动。每次移动后暂停使用代码 JOptionPane.showMessageDialog(null,"点击确定继续...");
公共类 FinchArray {
public static final int LEFT_WHEEL = 0;
public static final int RIGHT_WHEEL = 1;
public static final int DURATION = 2;{
int[][] x = new int[10][3]; // 2D array filled with zeros
int time = 25;
for (int[] row : x) {
row[2] = time;
time += 25;
}
for (int[] row : x) {
row[DURATION] = time;
time += 25;
}
for (int[] row : x){
row[LEFT_WHEEL] = time;
time += 25;
}
for (int[] row : x){
row[RIGHT_WHEEL] = time;
time += 25;
}
Finch fRobot = new Finch();
fRobot.setWheelVelocities(LEFT_WHEEL,RIGHT_WHEEL,DURATION);
long before = System.currentTimeMillis();
while (System.currentTimeMillis() - before < 5000){
if(fRobot.isObstacle())break; {
}
fRobot.stopWheels();
fRobot.quit();
}
}
【问题讨论】:
-
到目前为止你做了什么来解决你的问题?您是否编写了一些可以在此处发布的代码?
-
您遇到了什么问题?你试过什么?
-
您需要修改在
for(i = 0; i < 256;i = i + 25);处使用 for 循环的方式,在您将循环逻辑放入其中的条件之后,For 循环需要{}。 -
@theGreenCabbage -
for在主体是单个语句的情况下,循环不需要大括号。 OP 的问题之一(在许多问题中)是for循环由行尾的分号终止。另一个主要问题是使用i作为索引和时间值。我的猜测是,当他的代码尝试将一个新的 10 元素数组分配给x[256]时,OP 得到了一个不错的ArrayIndexOutOfBoundsException。 -
我的立场是正确的——但你写的是我试图暗示他但没有明确告诉他出了什么问题的 jist。
标签: java arrays multidimensional-array