if if loop if if循环

时间:2014-05-17 05:28:30

标签: android if-statement

以下是我遇到问题的代码。

if (ADi == 1) {
     if (RS >= 10)
         System.out.println("oooooooo");
         {      // TODO codes incomplete

            System.out.println("ohhhhh");
            vib2.vibrate(600);
            MediaPlayer mp = MediaPlayer.create(getBaseContext(),
            R.raw.beep02);
            mp.start();
        }
        finish();
       }

问题是它不检查RS>=10它只是播放mp并振动。 RS = 0。我没有得到这个&#34; ooooooo&#34;我正在接受&#34; ohhhhh&#34; 。如果RS < 10,我不想玩mp和振动。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

如果我没错,你犯了一个非常愚蠢的错误......

if (ADi == 1) 
{
      System.out.println("oooooooo");
      if (RS >= 10)
      {      
        System.out.println("ohhhhh");
        vib2.vibrate(600);
        MediaPlayer mp = MediaPlayer.create(getBaseContext(),
        R.raw.beep02);
        mp.start();
      }
      else
        finish();
}

如果你比较你的代码,我唯一做的就是移动System.out.println("oooooooo"); 以上if(RS>=10)因为你说System.out.println("oooooooo");正在打印它意味着你的RS正在工作,但是你正在通过打印它来消费它&#34; ooooo&#34; 。 System.out.println ()也是一个声明和代码行。由于您的RS被消耗,因此包含Mediaplayer的代码被称为独立于RS条件。

顺便说一下,我认为你应该在其他地方打电话给

希望它有所帮助... thx

答案 1 :(得分:0)

你错过了&#34;否则&#34;!如果您以更易读的方式格式化代码,它会有所帮助:

if (ADi == 1)
{
    if (RS < 10)
    {
        System.out.println("oooooooo");
    }
    else
    {      // TODO codes incomplete
        System.out.println("ohhhhh");
        vib2.vibrate(600);
        MediaPlayer mp = MediaPlayer.create(getBaseContext(),
        R.raw.beep02);
        mp.start();
    }
    finish();
}

答案 2 :(得分:0)

试试这个:

if (ADi == 1)
{
    if (RS >= 10)
    {      
        System.out.println("ohhhhh");
        vib2.vibrate(600);
        MediaPlayer mp = MediaPlayer.create(getBaseContext(),
        R.raw.beep02);
        mp.start();
    }
    else {
        System.out.println("oooooooo");
    }
    finish();
}