2011-06-23 66 views
0

在Java中,我將如何生成一個隨機數然後存儲該數字?我一直在嘗試使用這個:生成一個隨機數並存儲它

public void obstacleAvoidance() { 

    Random rnd = new Random(System.currentTimeMillis()); 
    double leftSpeed, rightSpeed; 
    int turn = rnd.nextInt() % 10; 

    while (turn > 0) { 
     leftSpeed = -SPEED; 
     rightSpeed = SPEED; 
     setSpeed(leftSpeed, rightSpeed); 
     turn--; 
    } 

} 

但它看起來像循環運行的所有東西,轉動產生一個不同的數字。

+2

此代碼看起來很適合我。 turn的值不應該在while循環中改變。 – jjnguy

+0

沒有足夠的代碼顯示。循環內發生了什麼?你是否在循環內重新賦值'turn'? –

+0

這段代碼很好,你必須做其他事情。你可以張貼演示轉動變量的代碼嗎? –

回答

3

沒有。 turn不會在循環中自行更改,除非您更改它(通過執行turn++;或類似的操作)。你可以這樣做

final int turn = rnd.nextInt() % 10; 

以防止循環中的變化。

+0

好轉了 - ;這樣就會改變輪值 – Wolfcow

+0

@Wolfcow這個問題的初始版本沒有顯示while循環在做什麼。 –

+0

好的,有疑問,那會有道理的=)對不起 – Wolfcow

1

final int turn = rnd.nextInt()%10; 但這會導致無限循環....因爲轉彎總是會保持大於零... 您可以這樣做: int turn1 = rnd.nextInt()%10; turn = turn1;

while (turn > 0) { 
    leftSpeed = -SPEED; 
    rightSpeed = SPEED; 
    setSpeed(leftSpeed, rightSpeed); 
    turn--; 
}