Java 删除条件语句
我想知道如何删除条件语句并用方法替换它。对于没有侦听器的代码,我可以这样做。但是这个有侦听器事件(arg0),这让我感到困惑。仅供参考,此代码位于主类中,我想将这些代码从主类中删除 谢谢你的帮助Java 删除条件语句,java,if-statement,methods,conditional,Java,If Statement,Methods,Conditional,我想知道如何删除条件语句并用方法替换它。对于没有侦听器的代码,我可以这样做。但是这个有侦听器事件(arg0),这让我感到困惑。仅供参考,此代码位于主类中,我想将这些代码从主类中删除 谢谢你的帮助 @Override public void onMotionSensingEvent( MotionSensingEvent arg0) { double gradient = 1.38; double speed; float testpitch = 0; test
@Override
public void onMotionSensingEvent( MotionSensingEvent arg0) {
double gradient = 1.38;
double speed;
float testpitch = 0;
testpitch = arg0.getOrientation().getPitch();
float testroll = 0;
testroll = arg0.getOrientation().getRoll();
if (testroll > 16 && flyingControl)
{
speed = gradient*testroll-22.1;
System.out.println("kanan = " + speed);
ardrone.goRight(speed);
}
else if (testroll < (-24) && flyingControl)
{
speed = gradient*testroll*-1 - 22.1;
System.out.println("kiri = " + speed);
ardrone.goLeft(speed);
}
else if (testpitch < (-20) && flyingControl)
{
System.out.println("go up");
ardrone.up();
}
else if (testpitch > 20 && flyingControl)
{
System.out.println("go down");
ardrone.down();
}
else
{
ardrone.stop();
}
}
@覆盖
MotionSensingEvent上的公共无效(MotionSensingEvent arg0){
双梯度=1.38;
双速;
浮动测试螺距=0;
testpitch=arg0.getOrientation().getPitch();
浮动测试辊=0;
testroll=arg0.getOrientation().getRoll();
如果(testroll>16&&flyingControl)
{
速度=梯度*testroll-22.1;
System.out.println(“kanan=“+速度”);
阿德隆·戈赖特(速度);
}
否则如果(试验滚转<(-24)和飞行控制)
{
速度=坡度*试验辊*-1-22.1;
System.out.println(“kiri=“+速度”);
阿尔德隆·戈尔夫特(速度);
}
否则如果(测试螺距<(-20)和飞行控制)
{
System.out.println(“上升”);
阿德隆;
}
否则如果(测试螺距>20和飞行控制(&F)
{
System.out.println(“向下”);
阿德隆·唐;
}
其他的
{
停止();
}
}
您必须根据testroll和testpitch的值做出决定,因此我想您无论如何都必须测试条件。但是如果你想用一个单独的方法进行测试,你可以使用一些签名,比如void test(float-pitch,float-roll)
replicate,你可以将它嵌套在其中,并使用“if(flyingControl)”来移除if语句中的一定数量的冗余。