2012-07-05 114 views
0

在我的循环我有一个数字,是不断变化的 - 我需要弄清楚如何判断的数量增加或减少:检查,如果数量正在减少或增加

是不工作的一些伪代码: )

var now:Number; 
    var then:Number; 

    function loop():void 
    { 
     now = changingNumber; 
     then = changingNumber; 
     if (now > then) { 
      // increasing 
     }else { 
      // decreasing 
     } 
    } 
+0

如果序列既不增加也不减少,例如,输出应该是什么。 5 8 10 7 9 2?你想要整个序列的输出还是只输出一对? – taskinoor 2012-07-05 09:36:44

回答

7
var now:int = 0; 
var thn:int = 0; 

function loop():void 
{ 
    // Change the number. 
    now = changingNumber; 

    if(now > thn) 
    { 
     trace("Got larger."); 
    } 
    else if(now < thn) 
    { 
     trace("Got smaller."); 
    } 
    else 
    { 
     trace("Maintained value."); 
    } 

    // Store the changed value for comparison on new loop() call. 
    // Notice how we do this AFTER 'now' has changed and we've compared it. 
    thn = now; 
} 

或者,你可以准备你的价值getter和setter和管理增加或减少在那里。

// Properties. 
var _now:int = 0; 
var _thn:int = 0; 


// Return the value of now. 
function get now():int 
{ 
    return _now; 
} 


// Set a new value for now and determine if it's higher or lower. 
function set now(value:int):void 
{ 
    _now = value; 

    // Comparison statements here as per above. 
    // ... 

    _thn = _now; 
} 

此方法将更有效,不需要循环。

+1

+1。这正是我输入的内容。你打了我〜10秒..:P – 2012-07-05 09:39:29

+0

@PranavHosangadi忍者技能我的朋友。 – Marty 2012-07-05 09:40:24

+0

+1。同样在这里>。< – 2012-07-05 09:47:20