如何用java生成指定范圍的隨機數(shù)
要生成在[min,max]之間的隨機整數(shù),
package edu.sjtu.erplab.io; import java.util.Random; public class RandomTest { public static void main(String[] args) { int max=20; int min=10; Random random = new Random(); int s = random.nextInt(max)%(max-min+1) + min; System.out.println(s); } }
random.nextInt(max)表示生成[0,max]之間的隨機數(shù),然后對(max-min+1)取模。
以生成[10,20]隨機數(shù)為例,首先生成0-20的隨機數(shù),然后對(20-10+1)取模得到[0-10]之間的隨機數(shù),然后加上min=10,最后生成的是10-20的隨機數(shù)
生成0-2之間的隨機數(shù),包括2
Random rand = new Random(); int randNum = rand.nextInt(3);
生成5-26之間的隨機數(shù),包括26
int randNum = rand.nextInt(22)+5;
工作當中許多地方會遇到,需要獲取某指定范圍內(nèi)的隨機數(shù)。直接利用Java給的的API中的函數(shù)不能滿足,需要做些改變。
實例:產(chǎn)生10個指定范圍內(nèi)的隨機數(shù)。
public class RandomTest { public static void main(String[] args) { int max = 10; int min = 2; //生成10個指定范圍的隨機數(shù) Random random = new Random(); for(int i=0; i<10; i++){ int n = random.nextInt(max-min+1)+min; System.out.print(n+" "); } System.out.println(); for(int i=0; i<10; i++){ int n = (int)(Math.random()*(max-min+1)+min); System.out.print(n+" "); } } }
要生成在[min,max]之間的隨機整數(shù)
import java.util.Random; public class RandomTest { public static void main(String[] args) { int min=10; int max=20; Random random = new Random(); //int s = random.nextInt(max)%(max-min+1) + min; int s = random.nextInt(max-min+1) + min; System.out.println(s); } }
相關(guān)文章
解決redisTemplate中l(wèi)eftPushAll隱性bug的問題
這篇文章主要介紹了解決redisTemplate中l(wèi)eftPushAll隱性bug的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02Java中由substring方法引發(fā)的內(nèi)存泄漏詳解
這篇文章主要介紹了Java中由substring方法引發(fā)的內(nèi)存泄漏詳解,涉及substring方法引發(fā)的內(nèi)存泄漏簡介,substring的作用和實現(xiàn)原理等相關(guān)內(nèi)容,具有一定借鑒價值,需要的朋友可以參考下2017-12-12Nacos配合SpringBoot實現(xiàn)動態(tài)線程池的基本步驟
使用Nacos配合Spring Boot實現(xiàn)動態(tài)線程池,可以讓你的應用動態(tài)地調(diào)整線程池參數(shù)而無需重啟,這對于需要高度可配置且需要適應不同負載情況的應用來說非常有用,本文給大家介紹實現(xiàn)動態(tài)線程池的基本步驟,需要的朋友可以參考下2024-02-02通過實例了解java spring使用構(gòu)造器注入的原因
這篇文章主要介紹了通過實例了解spring使用構(gòu)造器注入的原因,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-12-12Mybatis-Plus中的@TableName 和 table-prefix使用
table-prefix 是一個全局配置,它會自動在所有表名前添加指定的前綴,這個配置對于那些使用一致命名約定的數(shù)據(jù)庫表非常有用,這篇文章主要介紹了Mybatis-Plus中的@TableName 和 table-prefix使用,需要的朋友可以參考下2024-08-08