开关执行所有的case语句 [英] Switch executes all case statements

查看:167
本文介绍了开关执行所有的case语句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人能解释我为什么我的循环从0到7?我只需要在前3个例子中,但程序正在通过所有..代码是在show()方法。

 <$ (brojac = 0; brojac <3; brojac ++){

switch(brojac){
case 1:
figura1.setPosition(pomx [random], pomy [随机]);
stage.addActor(figura1);
System.out.println(1);
案例2:
figura2.setPosition(pomx [random],pomy [random]);
stage.addActor(figura2);
System.out.println(2);
案例3:
figura3.setPosition(pomx [random],pomy [random]);
stage.addActor(figura3);
System.out.println(3);
案例4:
figura4.setPosition(pomx [random],pomy [random]);
stage.addActor(figura4);
System.out.println(4);
案例5:
figura5.setPosition(pomx [random],pomy [random]);
stage.addActor(figura5);
System.out.println(5);
案例6:
figura6.setPosition(pomx [random],pomy [random]);
stage.addActor(figura6);
System.out.println(6);
案例7:
figura7.setPosition(pomx [random],pomy [random]);
stage.addActor(figura7);
System.out.println(7);


$ b $ / code $ / $ p

解决方案

因为休息时间不见了。在每种情况下,你需要break关键字。有关详细说明,请参阅切换语句java教程


$ b例如

pre $ for(brojac = 0; brojac <3; brojac ++){

switch(brojac){
case 1:
figura1.setPosition(pomx [random],pomy [random]);
stage.addActor(figura1);
System.out.println(1);
break; /// Break here

case 2:
figura2.setPosition(pomx [random],pomy [random]);
stage.addActor(figura2);
System.out.println(2);
break; ///这里打破
案例3:
figura3.setPosition(pomx [random],pomy [random]);
stage.addActor(figura3);
System.out.println(3);
break; /// Break here
case 4:
figura4.setPosition(pomx [random],pomy [random]);
stage.addActor(figura4);
System.out.println(4);
break; ///打破这里
情况5:
figura5.setPosition(pomx [random],pomy [random]);
stage.addActor(figura5);
System.out.println(5);
break; ///这里打破
案例6:
figura6.setPosition(pomx [random],pomy [random]);
stage.addActor(figura6);
System.out.println(6);
break; ///打破这里
案例7:
figura7.setPosition(pomx [random],pomy [random]);
stage.addActor(figura7);
System.out.println(7);
break; /// Break here


code $


其他情况将会是如果以上情况之一被评估为真,则执行。


Can someone explain me why my loop is going from 0 to 7? I need to get only in the first 3 cases, but the program is going through all.. The code is in the show() method.

for(brojac=0; brojac<3; brojac++){

    switch(brojac){
    case 1:
        figura1.setPosition(pomx[random], pomy[random]);
        stage.addActor(figura1);
        System.out.println("1");
    case 2:
        figura2.setPosition(pomx[random], pomy[random]);
        stage.addActor(figura2);
        System.out.println("2");
    case 3:
        figura3.setPosition(pomx[random], pomy[random]);
        stage.addActor(figura3);
        System.out.println("3");
    case 4:
        figura4.setPosition(pomx[random], pomy[random]);
        stage.addActor(figura4);
        System.out.println("4");
    case 5:
        figura5.setPosition(pomx[random], pomy[random]);
        stage.addActor(figura5);
        System.out.println("5");
    case 6:
        figura6.setPosition(pomx[random], pomy[random]);
        stage.addActor(figura6);
        System.out.println("6");
    case 7:
        figura7.setPosition(pomx[random], pomy[random]);
        stage.addActor(figura7);
        System.out.println("7");

    }
}

解决方案

Because the break is missing. After every case you need the break keyword. For a detailed explanation see switch statement java tutorial

e.g.

for(brojac=0; brojac<3; brojac++){

switch(brojac){
case 1:
    figura1.setPosition(pomx[random], pomy[random]);
    stage.addActor(figura1);
    System.out.println("1");
    break; /// Break here

case 2:
    figura2.setPosition(pomx[random], pomy[random]);
    stage.addActor(figura2);
    System.out.println("2");
    break; /// Break here
case 3:
    figura3.setPosition(pomx[random], pomy[random]);
    stage.addActor(figura3);
    System.out.println("3");
    break; /// Break here
case 4:
    figura4.setPosition(pomx[random], pomy[random]);
    stage.addActor(figura4);
    System.out.println("4");
    break; /// Break here
case 5:
    figura5.setPosition(pomx[random], pomy[random]);
    stage.addActor(figura5);
    System.out.println("5");
    break; /// Break here
case 6:
    figura6.setPosition(pomx[random], pomy[random]);
    stage.addActor(figura6);
    System.out.println("6");
    break; /// Break here
case 7:
    figura7.setPosition(pomx[random], pomy[random]);
    stage.addActor(figura7);
    System.out.println("7");
    break; /// Break here
}
}

Otherwise the other cases will be executed if one of the above cases gets evaluated to true.

这篇关于开关执行所有的case语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆