隨機生成的數字我只需要知道我應該怎麼做才能讓這樣一個基本陣列充滿隨機生成的數字。現在我知道如何做到這一點,我不知道該怎麼做是爲了讓隨機生成的數字比最後一次生成的數字大到數組的末尾。在基本陣列
在基本陣列
回答
產生隨機數,然後對數組進行排序。
可以使用Arrays.sort()
它不確保每個數字是嚴格更大然後是以前的編號[它只註冊就<=
],因此,如果它是一個問題的數組進行排序 - 你必須確保你在生成的數字中沒有愚蠢行爲。
您可以生成一個隨機數組,然後使用Array sort對其進行排序。
只需爲列表生成,然後按最小排序即可。
for(int i = 0; i < arr.length; ++i) {
arr[i] = Random.nextInt(100);
}
Arrays.sort(arr);
你可以有你自己產生增量的算法...
例如...
每次隨機並添加號碼到最後一個:)
Random
在java類不允許你有一個最小限制從哪裏開始..只有一個...
例如:
myArray[0] = Random.nextInt(10000);
for(int i=1; i<myArray.length; i++)
{
myArray[i] = myArray[i-1]+Random.nextInt(10000);
}
所以..它是隨機的,您不必對它進行排序..嘗試藏在心裏簡單...
請注意,它可能因[overflow](http://en.wikipedia.org/wiki/Arithmetic_overflow)而失敗。 – amit 2012-02-24 20:36:13
如果他有一個長度爲2000000的數組..是的:)如果只有1000 ..不! :) – Alex 2012-02-24 20:42:33
(1)當你使用'nextInt(10000)'時,你無限制地限制自己。你可以用4填充它。 (2)當數組大小爲〜200000 [零減1]時可能會溢出。無論如何,OP使用這個解決方案時只需要考慮一點。 – amit 2012-02-24 20:45:36
有關於這個問題的評論,我失去了作者的名字,即建議增加隨機生成的數字與之前的數字,我認爲這是一個有趣的方法。
arr[0] = Random.nextInt(100);
for(int i = 1; i < arr.length; ++i) {
arr[i] = arr[i-1] + Random.nextInt(100);
}
這不需要對結果數組進行排序。
- 1. java基本陣列問題
- 2. 基本c#陣列打印
- 3. 樣本從陣列元素的基地
- 4. 陣列反射基本任務
- 5. 多維PHP陣列的基本排序
- 6. 陣列內的基因敲除陣列
- 7. 矩陣和陣列背後的基本原理是什麼?
- 8. CUDA基本矩陣加 - 大型矩陣
- 9. 轉化的基本矩陣
- 10. 基本矩陣:純旋轉
- 11. 基於相鄰列陣列列表
- 12. 基於陣列響應
- 13. 如何基於陣列
- 14. 如何基於陣列
- 15. 陣列分割基於值
- 16. 基於窗體的陣列
- 17. 基因排名微陣列
- 18. 陣列在bash shell腳本
- 19. 文本在陣列搜索
- 20. MATLAB:Subindexing在單元陣列基於strfind
- 21. 我需要基於在陣列
- 22. 基於陣列和基於列表的堆棧和隊列
- 23. 基於特定鍵的散列陣列
- 24. 基於雙端隊列陣列
- 25. 排序二維陣列基於一列
- 26. 排列陣列中的DNA鹼基對
- 27. 陣列在陣列中的陣列
- 28. 重新排序陣列基於它在另一個陣列中的存在
- 29. shell腳本陣列
- 30. BASH陣列副本
是的,現在當我去我的驅動程序類,以顯示與S.O.P.數組我在arr [i] = gen.nextInt(10000)上得到運行時錯誤;我不知道爲什麼要這樣做。我設置ARR [I] = gen.nextInt(10000)到名爲值的變量,它是一個Int – Tigh 2012-02-25 04:45:31
@Tigh你需要表現出更多的代碼,並添加一個堆棧跟蹤。請編輯你的問題,或者更好地問一個新問題以獲得更多關注。 – dasblinkenlight 2012-02-25 11:14:48