我需要帮助添加一个循环来重复我的代码四次

时间:2014-02-16 22:48:19

标签: java eclipse

以下是我正在使用的代码。我是编程的新手,我知道我需要使用一个循环来设置我重复四次的速度,我只是不知道该怎么做。任何帮助将不胜感激!

package Code.simpleOutput;
import edu.cmu.ri.createlab.terk.robot.finch.Finch;


public class GeoPattern {

         public static void main(final String[] args)
       {
         Finch myFinch = new Finch();

         myFinch.setWheelVelocities(255,255,1000);
         myFinch.setWheelVelocities(255,0,800);
         myFinch.setWheelVelocities(255,255,1000);
         myFinch.setWheelVelocities(255,0,800);
         myFinch.setWheelVelocities(255,255,1000);
         myFinch.setWheelVelocities(255,0,800);
         myFinch.setWheelVelocities(255,225,1000);


         myFinch.quit();
          System.exit(0);
       }

}

3 个答案:

答案 0 :(得分:1)

您是否只是在寻找

for (int i = 0; i < 4; i++) {
    myFinch.setWheelVelocities(255,255,1000);
    myFinch.setWheelVelocities(255,0,800);
}     

答案 1 :(得分:1)

您可以使用for循环

for(int i = 0; i < 4; i++)
{
    //code to repeat goes here
}

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html

答案 2 :(得分:1)

这是一个for循环。

for(int x = 4; x >0; x--) {

     myFinch.setWheelVelocities(255,255,1000);
     myFinch.setWheelVelocities(255,0,800);
}

你需要更多地解释你的目标。

此代码会将车轮速度设置为255,255,1000,然后立即将其更改回255,0,800,并执行此操作四次。

您是不是试图在它们之间切换,这需要某种暂停,计时器或测试?

与此同时,你真的应该仔细阅读Java的Oracle文档,特别是控制结构:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html

如果您是Java新手,Exceptions和Threads可能有点苛刻的起飞,但请耐心等待:

Thread.sleep(4000);

该指令将使代码暂停4秒(以毫秒为参数)。 要使用“暂停”代码,您需要在此处声明您的方法main

 throws InterruptedException

为什么呢?因为,如果你的应用程序中有几个“线程”,另一个线程可能会在你休眠时打断你的。 基本上,说“嘿,我需要计算一些东西,因为你睡着了我要借用处理器,我稍后会把它还给你”

由于你只有一个线程,你不会打扰,你只是声明它可能理论上发生了,你很高兴。

如果您想要切换速度并看到它发生,代码将变为:

package Code.simpleOutput;
import edu.cmu.ri.createlab.terk.robot.finch.Finch;


public class GeoPattern {

     public static void main(final String[] args)
        throws InterruptedException // because it contains a sleep call
   {
     Finch myFinch = new Finch();

    for(int x = 4; x >0; x--) 
    {
      Thread.sleep(1000); // sleep a second
      myFinch.setWheelVelocities(255,255,1000);
      Thread.sleep(1000); // sleep another second
      myFinch.setWheelVelocities(255,0,800);
     }
     myFinch.quit();
     System.exit(0);
   }

}