繁体   English   中英

如何在切换条件下移动到下一个案例

[英]How to move to next case in switch condition

我需要一个代码,在我的 Android 应用程序中使用它,我想经历所有切换条件的情况,(不是随机的!!!)。我可以如下随机移动它。

public void switchingLogic(){
         Random rand = new random();
          int i = rand.nextInt(4)+1;
    switch (i) {
        case 1:
            setImages(R.drawable.ic_launcher, R.drawable.ic_launcher);
            selectedCorrectImage(img1, R.raw.correct_img, R.raw.thats_correct);
            selectedWrongImage(img2, R.raw.wrong_img, R.raw.no_its_wrong);
            break;
        case 2:
            setImages(R.drawable.ic_launcher, R.drawable.ic_launcher);
            selectedCorrectImage(img1, R.raw.correct_img, R.raw.thats_correct);
            selectedWrongImage(img2, R.raw.wrong_img, R.raw.no_its_wrong);
            break;
        case 3:
            setImages(R.drawable.ic_launcher, R.drawable.ic_launcher);
            selectedCorrectImage(img1, R.raw.correct_img, R.raw.thats_correct);
            selectedWrongImage(img2, R.raw.wrong_img, R.raw.no_its_wrong);
            break;
        case 4:
            setImages(R.drawable.ic_launcher, R.drawable.ic_launcher);
            selectedCorrectImage(img1, R.raw.correct_img, R.raw.thats_correct);
            selectedWrongImage(img2, R.raw.wrong_img, R.raw.no_its_wrong);
            break;
}

但现在我只想从 1 到 4 的顺序...

如果条件(选定图像)在第一种情况下正确,我将全屏显示图像并再次回调该方法。

我刚遇到 CURSOR 。 我可以使用它吗(如果是,如何使用?)或者有什么方法可以解决这个问题。 重要提示:我想在 onCreate() 中使用这个“切换逻辑方法”

如果没有在 switch-case 中设置break命令,switch 在执行一个 case 后不会终止并移动到下一个 case。 所以这个代码:

int i = 2;
switch(i) {
   case 1:
      // do something
   case 2:
      // do something
   case 3:
      // do something

}

将执行案例 2 和案例 3。也许您可以实现一个 ifclause 来定义案例是否应该中断。

您可以尝试创建 2 种方法来执行此操作:

  1. 一种使用 for 循环遍历所有情况的方法
  2. 包含您的案例的方法

然后只需调用

LoopThroughAllCases();

代码看起来像这样。

    void LoopThroughAllCases()
    {
    int minCaseValue = 0; // modify to suit your case
    int maxCaseValue = 4; // modify to suit your case
    for (int i = minCaseValue ; i  <=  maxCaseValue ; i++)
                {

                    Cases(i);
                }
    }

    void Cases(int i)
            {
                switch (i)
                {
                    case 0:
                        // do something
                        break;
                      case 1:
                        // do something
                        break;
                      case 2:
                        // do something
                        break;
                      case 3:
                        // do something
                        break;
                      case 4:
                        // do something
                        break;
                      default:
                       //handle unknown value
                       break;

                }
            }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM