&安培;&安培;语法错误AGP for Dummies

时间:2013-08-19 21:34:36

标签: java android syntax

所以,我目前正在学习Android游戏编程傻瓜书,并遇到了问题所在(第128页)我给了代码

case MotionEvent.ACTION_DOWN:
      if (X > (screenW-playButtonUp.getWidth())/2 &&
          X < ((screenW-playButtonUp.getWidth())/2) +
                    playButtonUp.getWidth()) &&
          Y > (int)(screenH*0.45) && 
          Y < (int)(screenH*0.45) +
          playButtonUp.getHeight()) {
              playButtonPressed = true;
          }
break;

并且第4到第6行伴有错误“令牌上的语法错误”&amp;&amp;&quot;,throw expected“。我不知道如何解决这个问题,我真的很感激任何替代或帮助。

1 个答案:

答案 0 :(得分:1)

圆括号搞砸了。具体来说,这一行中的第二个)

//                     -- This one
//                     v
playButtonUp.getWidth()) &&

匹配(条件的if,意味着&&不属于条件。删除额外的)

这是括号分析:

if (X > (screenW-playButtonUp.getWidth())/2 &&   // ( = 3, ) = 2; Nested level: 1
    X < ((screenW-playButtonUp.getWidth())/2) +  // ( = 3, ) = 3; Nested level: 1
              playButtonUp.getWidth()) &&        // ( = 1, ) = 2; Nested level: 0
    Y > (int)(screenH*0.45) &&                   // ( = 2, ) = 2; Nested level: 0
    Y < (int)(screenH*0.45) +                    // ( = 2, ) = 2; Nested level: 0
    playButtonUp.getHeight()) {                  // ( = 1, ) = 2; Nested level: -1?!?
        playButtonPressed = true;                // Total ( = 12, ) = 13
    }