java中的一次性循环?
我试过用java做一个只运行一次的循环java中的一次性循环?,java,loops,time,Java,Loops,Time,我试过用java做一个只运行一次的循环 package com.notelek.programs.flat; import java.awt.event.KeyEvent; import com.notelek.programs.flat.input.Controller; public class Game { public static int time; public Controller controls; public Game(){ c
package com.notelek.programs.flat;
import java.awt.event.KeyEvent;
import com.notelek.programs.flat.input.Controller;
public class Game {
public static int time;
public Controller controls;
public Game(){
controls = new Controller();
}
public void tick(Boolean[] key){
time++;
Boolean forward = key[KeyEvent.VK_W];
Boolean back = key[KeyEvent.VK_S];
Boolean left = key[KeyEvent.VK_A];
Boolean right = key[KeyEvent.VK_D];
Boolean turnLeft = key[KeyEvent.VK_LEFT];
Boolean turnRight = key[KeyEvent.VK_RIGHT];
for(Boolean i = true; i == true; i = false){
forward = true;
back = true;
left = true;
right = true;
turnLeft = true;
turnRight = true;
}
controls.tick(forward,back,left,right,turnLeft,turnRight);
}
}
这是我的代码,我需要将向前向后向左向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右向右?如果您想在一秒钟内切换(比一秒钟快得多),只需执行以下操作:
forward = true;
back = true;
left = true;
right = true;
turnLeft = true;
turnRight = true;
forward = false;
back = false;
left = false;
right = false;
turnLeft = false;
turnRight = false;
如果您正在寻找可以操纵的切换,我将为您提供自己的方法:
public void toggle() {
forward = !forward;
back = !back;
// and so on
}
。。。然后在经过一定的毫秒数后调用它
但是,本着回答问题的精神,如果你真的,真的,真的想使用一个只运行一次的循环,出于某种原因。。。下面是它的语法:
for(int i = 0; i < 1; i++) {
// do stuff
}
for(int i=0;i<1;i++){
//做事
}
我们的谈话速度有多快?如果您想在一秒钟内切换(比一秒钟快得多),只需执行以下操作:
forward = true;
back = true;
left = true;
right = true;
turnLeft = true;
turnRight = true;
forward = false;
back = false;
left = false;
right = false;
turnLeft = false;
turnRight = false;
如果您正在寻找可以操纵的切换,我将为您提供自己的方法:
public void toggle() {
forward = !forward;
back = !back;
// and so on
}
。。。然后在经过一定的毫秒数后调用它
但是,本着回答问题的精神,如果你真的,真的,真的想使用一个只运行一次的循环,出于某种原因。。。下面是它的语法:
for(int i = 0; i < 1; i++) {
// do stuff
}
for(int i=0;i<1;i++){
//做事
}
为什么要使用循环?如果您只想让某些东西等待一秒钟,为什么不使用wait命令:
您只需执行所需的代码块,等待指定的毫秒数,然后执行另一个代码块:
int milliseconds = 1000;
forward = true;
back = true;
left = true;
right = true;
turnLeft = true;
turnRight = true;
Thread.sleep(milliseconds)
forward = false;
back = false;
left = false;
right = false;
turnLeft = false;
turnRight = false;
为什么要使用循环?如果您只想让某些东西等待一秒钟,为什么不使用wait命令: 您只需执行所需的代码块,等待指定的毫秒数,然后执行另一个代码块:
int milliseconds = 1000;
forward = true;
back = true;
left = true;
right = true;
turnLeft = true;
turnRight = true;
Thread.sleep(milliseconds)
forward = false;
back = false;
left = false;
right = false;
turnLeft = false;
turnRight = false;
如果确实需要循环,请使用以下命令:
do {
your code here
} while (false);
依我看,这有点傻…如果你真的想要一个循环,请使用:
do {
your code here
} while (false);
在我看来,这有点傻…也许可以试试这样:
for(int i=0;i<2;i++)
{
布尔状态=(i==0);
转发=状态;
返回=状态;
左=状态;
右=状态;
左转=状态;
右转=状态;
//选择性睡眠
整数毫秒=100;
睡眠(毫秒);
}
循环将循环一次,将all设置为true
(i==0),然后在下一次重复时将all设置为fasle
,然后退出
Thread.sleep()
是可选的,这取决于您是否需要这些值在短时间内保持不变。可以尝试以下方法:
for(int i=0;i<2;i++)
{
布尔状态=(i==0);
转发=状态;
返回=状态;
左=状态;
右=状态;
左转=状态;
右转=状态;
//选择性睡眠
整数毫秒=100;
睡眠(毫秒);
}
循环将循环一次,将all设置为true
(i==0),然后在下一次重复时将all设置为fasle
,然后退出
Thread.sleep()
是可选的,这取决于您是否需要值在短时间内保持不变。如果循环只运行一次,您是否需要循环?为什么需要循环?还有,为什么在初始化后不久要更改这些值?如果需要循环中提到的值,为什么不使用相同的值初始化它们,例如Boolean forward=true代码>?如果循环只运行一次,您需要循环吗?为什么需要循环?还有,为什么在初始化后不久要更改这些值?如果需要循环中提到的值,为什么不使用相同的值初始化它们,例如Boolean forward=true代码>?不,我想切换它们,但我只想在它们位于方法中时切换它们一次。然后将它们放入自己的方法中,如上面的toggle()
,并在需要时调用它们。这将使他们来回转换。:)发生在我们最好的人身上。祝你好运。不,我想切换它们,但我只想在它们位于方法中时切换它们一次。然后将它们放入它们自己的方法中,如上面的toggle()
,并在需要时调用它们。这将使他们来回转换。:)发生在我们最好的人身上。祝你好运。再说一次,我只想在一个方法中设置它,然后快速取消设置,并且每个程序只运行一次,你可以设置int毫秒=1代码>或者你可以完全移除计时器,它几乎是瞬时的。同样,我只想在一个方法中设置它,然后快速取消设置,并且每个程序运行一次,你可以设置int-millises=1或者你可以完全移除计时器,它几乎是瞬间的。