我的其他人没有认识到正确的

时间:2015-10-28 15:11:39

标签: if-statement nested-if

我贴上标签的其他人有一个错误,说这是不必要的。我怎样才能让其他人与第一个对齐?

<input id="chkFollowUp" type="checkbox" class="form-control"/>

4 个答案:

答案 0 :(得分:1)

if (heading < 270 && heading > 90){
        directionToFace= 'S'; 
        if (heading > 180)
        {
            degreeToWalk = (heading-180);
            directionToWalk = 'W';
        }
        else
        {
            degreeToWalk = (180-heading);
            directionToWalk = 'E';
        }
}
    else//this is where the error occurs
        directionToFace='N';
    {
        if (heading > 270)
        {
            degreeToWalk =(heading-270);
            directionToWalk='W';
        }
        else 
        {
            degreeToWalk = (heading);
            directionToWalk = 'E';
        }
    }

如果......之后添加括号

if(cond) 
  stmt1
  stmt2

只有stmt1依赖于cond。

if(cond){
      stmt1
      stmt2
}

你需要在它们周围添加括号以使其依赖于cond

答案 1 :(得分:0)

您在第一行缺少{

答案 2 :(得分:0)

如果这是Java,那么你不能在if块中放置多个单个语句,它需要包装在一个块中(使用{})。在你的情况下,&#34;如果&#34;只处理第一行:

directionToFace= 'S'; 

在第一个if语句中,下一个语句是:

    if (heading > 180)
    {
        degreeToWalk = (heading-180);
        directionToWalk = 'W';
    }
    else
    {
        degreeToWalk = (180-heading);
        directionToWalk = 'E';
    }

因为java并不关心间距和制表符,所以它会查看要处理的下一个语句,它是另一个。它变得混乱,因为最后一个语句不是if(没有else),或者是else if。

因此,如果我们查看代码,看起来你没有在块语句中包装初始化:

 if (heading < 270 && heading > 90)
 {
     // all your statements go here
 }

答案 3 :(得分:0)

你有

...
} else
     directionFace = 'N';
{

在几乎任何使用{}进行块作用域的语言中,如果/ else将是

if (condition)
   single_line;

if (condition) {
    multiple;
    lines;
}

由于在else之后没有{directionFace赋值成为else子句的唯一组件,并且它是无条件执行块的所有内容。