2013-10-15 53 views
1

我不知道为什么我的else if的不工作!我其他如果不工作

var workSurvival:Number = 0; 
    var work:int = parseInt(work_txt.text); 

if(work <60> 0){ 
    workSurvival = work*12; 
     trace("work 1-" + workSurvival); 
}else if(work <120> 60){ 
    workSurvival = work*25; 
     trace("work 2-" + workSurvival); 
     trace(work); 
}else if(work == 120){ 
    bestScore -= 1; 
     trace("Good Score!"); 
}else if(work <200> 120){ 
    workSurvival = work*8; 
     trace("work 3-" + workSurvival); 
}else if(work <401> 200){ 
    workSurvival = work*4; 
     trace("work 4-" + workSurvival); 
} 

回答

5

if(work <60> 0)不是有效的IF语句。你需要重写它是

if(work > 0 && work < 60) 

这同样适用于所有其他在这里的讲话。

+0

*叹息* ...这些小错误会是我的最后:( – user2878169

+0

题外话......但是,请停止提示小修改。如果你想帮助重新获得奖励,但没有2k(或10k大型),请确保你也改进了帖子的其他部分。 – bjb568

+0

@howrad你可以在[meta](http://meta.stackoverflow.com)上询问有人为你做。 – bjb568

0

扩大在什么howrad说:work <x> y相当于(work < x) > y,如此评价期间,它最终将成为true > yfalse < ywork < x后评估),而不是表现出期望的范围内的行为..

现在,如何会写它:

if(work < 60){ 
}else if(work < 120){ 
}else if(work == 120){ 
}else if(work < 200){ 
}else if(work < 401){ 
}else{ 
} 

也就是说,“沿英寸”:这部作品,因为条件句,从具体到一般的整个范围,第一个匹配的条件将终止序列支票的影响。

+0

有时候我希望它能让你写出像'if(0 howrad

+0

@howrad这样的语句有时候会有一个“betweens”运算符......和一般的运算符重载。至少有一种语言允许这样的语法,但我忘记了哪一种。 – user2864740

0

你的if语句是不正确的

改变他们的内部条件

if(work>0&&work<60)而不是if(work <60> 0)

else if(work>60&&work<120)而不是else if(work <120> 60)

else if(work>120&&work<200),而不是else if(work <200> 120)

else if(work <401> 200)

if(work>200&&work<401),而不是和你的代码应该可以正常