我的其他如果不起作用

时间:2013-10-15 23:06:12

标签: if-statement actionscript-3

我不知道为什么我的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);
}

3 个答案:

答案 0 :(得分:5)

if(work < 60 > 0)不是有效的IF语句。您需要将其重写为

if(work > 0 && work < 60)

这里的每一个声明都是如此。

答案 1 :(得分:0)

扩展howrad所说的内容:work < x > y相当于(work < x) > y,因此在评估过程中,它最终会以true > yfalse < y结尾(在work < x之后评估)并没有表现出所需的范围行为..

现在, I 将如何编写它:

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

即“沿着英寸”:这是有效的,因为条件在整个范围内从特定到一般,第一个匹配条件将终止检查序列。

答案 2 :(得分: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)

if(work>200&&work<401)代替else if(work < 401 > 200)

并且您的代码应该可以正常工作