我需要在兩個範圍內創建一個隨機數,但我不知道如何。有人能幫助我嗎?如何讓java在兩個範圍內創建一個隨機數(例如5-10和12-17)
-3
A
回答
0
隨機數在0-1之間生成。讓我們用數字< 0.5 5-10和數字> 0.5 12-17來簡單地乘以它們。
0
試試這個: -
class PickRandomFromRange
{
private final List<Integer> range = new ArrayList<>();
final void addRange(int min, int max)
{
for(int i = min; i <= max; i++)
{
this.range.add(i);
}
}
int getRandom()
{
return this.range.get(new Random().nextInt(this.range.size()));
}
public static void main(String[] args)
{
PickRandomFromRange rir = new PickRandomFromRange();
rir.addRange(5,10);
rir.addRange(12,17);
System.out.println(rir.getRandom());
}
}
將上面的代碼基本上只是使所有這些都是你給它的範圍內的號碼列表,然後拾起從列表中選擇一個隨機數,因此一個是來自任何範圍的隨機數。
0
我想出了一個辦法,但是,我不知道它是否是解決我的問題的有效方法。
if(userInput == 4){
charNumber = 48+random.nextInt(76);
if(charNumber>47 && charNumber<58){
outputFile.print((char)charNumber);
counter++;
}
if(charNumber>64 && charNumber<91){
outputFile.print((char)charNumber);
counter++;
}
if(charNumber>90 && charNumber<97){
outputFile.print((char)charNumber);
counter++
}
if(charNumber>96 && charNumber<123){
outputFile.print((char)charNumber);
counter++;
}
}
0
範圍5-10和12-17給你總共6 + 6 = 12個可能的選擇。
從5到16中選取一個隨機數。如果數字是11或更多,則向其添加一個。添加一個有效地插入您的分割範圍的差距。
Random myRand = new Random();
// Number in range [5 .. 16].
int num = 5 + myRand.nextInt(17);
// Increase numbers beyond the gap.
if (num >= 11) {
num += 1;
}
相關問題
- 1. 在一個範圍內創建隨機數字?
- 2. 在一個範圍內的隨機數
- 3. 如何用範圍創建一個隨機數?
- 4. Scheme:創建一個隨機範圍
- 5. 創建一個範圍內的隨機數
- 6. 如何最好地創建一個隨機浮點數在兩個浮點數之間的範圍內
- 7. 如何在C範圍內生成一個隨機數?
- 8. 如何在Rust的範圍內生成一個隨機數?
- 9. Java在特定範圍內生成一個隨機數?
- 10. 如何在一個範圍內生成一個隨機數,但排除一些?
- 11. 如何隨機生成隨機零和一個範圍內的vba?
- 12. 隨機函數在德爾福創建一個長度範圍
- 13. 如何在一個範圍內選擇一個隨機數 - +轉換爲ms
- 14. 每天在一個範圍內生成一個隨機整數
- 15. 使用C#在一個範圍內產生一個隨機數
- 16. 在一個範圍內生成'n'個唯一隨機數
- 17. 在一個範圍內生成一個隨機數。沒有Overlflow。在Java
- 18. 在一個範圍內的多個加權隨機數
- 19. 如何獲得兩個範圍之間的隨機數?
- 20. 如何從一個範圍內創建一個序列
- 21. 在一個範圍內生成'n'唯一的隨機數
- 22. 生成一個隨機數的範圍
- 23. 如何從一個範圍內生成3個非重複的隨機數字?
- 24. java - 我如何創建一個int數組與隨機洗牌數在給定的範圍
- 25. Javascript:生成範圍內的隨機數字,避免前兩個
- 26. 如何創建一個隨機數在-2.0和2.0之間
- 27. 創建一個隨機數
- 28. 如何在c中生成一個範圍內的隨機數字#
- 29. 在兩個隨機整數指定的範圍內打印每個數字
- 30. 在範圍內創建隨機數並訪問arrayindex字符
蘭特(1,5)產生1-> 5,然後蘭特(1),以決定是否應該在5-10或12-17範圍... –
你的意思是聯盟這兩個範圍? –
[在Java範圍內生成隨機整數]的可能重複(http://stackoverflow.com/questions/363681/generating-random-integers-in-a-range-with-java) –