C 中Random 在for迴圈內使用的困惑

2021-05-26 00:54:51 字數 636 閱讀 4629

題目:

模擬n個人參加選舉的過程,並輸出選舉結果:假設候選人有四人,分別用a、b、c、d表示,當選某候選人時直接輸入其編號(編號由計算機隨機產生),若輸入的不是a、b、c、d則視為無效票,選舉結束後按得票數從高到低輸出候選人編號和所得票數。

這時需要用random來給a,b,c,d隨機投票.有n個人,所以使用for迴圈,然而發現random x = new random();在for迴圈內時:

ran = x.next(0, 5) + 65;     //所產生的數字是同乙個.

把random x = new random();弄到for迴圈外就能成功了.

據說產生這個情況的原因可能是for迴圈內,計算機運算太快,所以導致產生的隨機數都是同乙個.但是使用system.currenttimemillis()都不行.

但是,如果把x定義弄到for迴圈外,或者用thread.sleep(15)來暫停15毫秒的話,就能正常運作了.

還是很費解啊.

2023年3月30日在校內網發的....4.12轉到csdn

懷疑這個隨即數生成時都是固定的乙個陣列

呼叫時是按照時間不同呼叫不同位置的數而已.

但是為什麼在for迴圈內呼叫時間也是很快,但是呼叫時是不同的數了呢?

今天還是無法理解...

在 JavaScript 中優雅的提取迴圈內的資料

翻譯 瘋狂的技術宅 原文 2ality.com 2018 04 ext 舉個例子,假設有乙個函式logfiles const fs require fs const path require path function logfiles dir logfiles process.ar 2 複製 從 ...

在 JavaScript 中優雅的提取迴圈內的資料

翻譯 瘋狂的技術宅 原文 舉個例子,假設有乙個函式logfiles const fs require fs const path require path function logfiles dir logfiles process.ar 2 從 a 行開始的迴圈用來記錄檔案路徑。它是for of迴...

在 JavaScript 中優雅的提取迴圈內的資料

翻譯 瘋狂的技術宅 原文 舉個例子,假設有乙個函式logfiles const fs require fs const path require path function logfiles dir logfiles process.ar 2 從 a 行開始的迴圈用來記錄檔案路徑。它是for of迴...