0

我正在为机器人制作一个程序,该程序将计算它在运行的几秒钟内撞到障碍物的次数。我想知道我可以用什么来计算时间。

例如;

如果(机器人.isObstacle);

每次出现 isObstacle 时开始计数,并在没有障碍物时停止。

Finch fRobot = new Finch();


    fRobot.setWheelVelocities(250,250);
    long before = System.currentTimeMillis();
    while (System.currentTimeMillis() - before < msFinch*1000)



     if(fRobot.isObstacle() == true);{
         System.out.println(obstacleCount);
         obstacleCount++;

     }

         if(fRobot.isObstacle() == false);{
         System.out.println("No Obstacles hit");
     }

这似乎不起作用我知道我做错了什么。

4

1 回答 1

3

你的While循环似乎很可疑。你可能想在那里开始一个新的区块。

while (System.currentTimeMillis() - before < msFinch*1000) {

你的if语法是错误的。删除;after 条件:

 if(fRobot.isObstacle() == true) {
     System.out.println(obstacleCount);
     obstacleCount++;

 }

     if(fRobot.isObstacle() == false) {
     System.out.println("No Obstacles hit");
 }
于 2014-03-10T15:31:44.950 回答