If statement 我的else无法识别正确的if
我标记的else有一个错误,表示它是不必要的。我怎样才能让其他人与第一个if保持一致If statement 我的else无法识别正确的if,if-statement,nested-if,If Statement,Nested If,我标记的else有一个错误,表示它是不必要的。我怎样才能让其他人与第一个if保持一致 if (heading < 270 && heading > 90) directionToFace= 'S'; if (heading > 180) { degreeToWalk = (heading-180); directionToWalk = 'W'; }
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(航向<270&&heading>90)
方向面='S';
如果(航向>180)
{
行走度=(品目180);
directionToWalk='W';
}
其他的
{
度行走=(180航向);
directionToWalk='E';
}
else//这就是错误发生的地方
面向面class='N';
{
如果(航向>270)
{
行走度=(品目270);
方向towalk='W';
}
其他的
{
degreeToWalk=(标题);
directionToWalk='E';
}
}
只有stmt1依赖于cond
if(cond){
stmt1
stmt2
}
您需要在它们周围添加括号,使其依赖于cond。如果第一行缺少
{,那么您不能将多个语句放在一个If块中,它需要包装在一个块中(使用{})。在您的情况下,“If”只处理第一行:
directionToFace= 'S';
在第一个if语句中,下一个语句为:
if (heading > 180)
{
degreeToWalk = (heading-180);
directionToWalk = 'W';
}
else
{
degreeToWalk = (180-heading);
directionToWalk = 'E';
}
因为java不关心空格和制表符,所以它查看下一个要处理的语句,它是一个else。它会感到困惑,因为最后一个语句不是if(没有else),也不是else if
因此,如果我们查看代码,您似乎没有将初始if包装到block语句中:
if (heading < 270 && heading > 90)
{
// all your statements go here
}
if(航向<270&&heading>90)
{
//你所有的陈述都在这里
}
您有
...
} else
directionFace = 'N';
{
在几乎所有使用{}
进行块作用域的语言中,if/else都是
if (condition)
single_line;
或
由于else之后没有{
,因此方向面
赋值成为else
子句`的唯一组成部分,它是一个无条件执行的块。这应该是什么语言?这是一个自包含的可编译示例吗?
...
} else
directionFace = 'N';
{
if (condition)
single_line;
if (condition) {
multiple;
lines;
}