很多朋友都想知道java怎么獲取隨機(jī)數(shù)?下面就一起來了解一下吧~
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、網(wǎng)絡(luò)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、騰沖網(wǎng)站維護(hù)、網(wǎng)站推廣。
Java中的隨機(jī)數(shù)的有三種產(chǎn)生方式:
(01). 通過System.currentTimeMillis()來獲取一個(gè)當(dāng)前時(shí)間毫秒數(shù)的long型數(shù)字。
(02). 通過Math.random()返回一個(gè)0到1之間的double值。
(03). 通過Random類來產(chǎn)生一個(gè)隨機(jī)數(shù)。
第1種
通過System.currentTimeMillis()來獲取隨機(jī)數(shù)。實(shí)際上是獲取當(dāng)前時(shí)間毫秒數(shù),它是long類型。使用方法如下:
final?long?l?=?System.currentTimeMillis();
若要獲取int類型的整數(shù),只需要將上面的結(jié)果轉(zhuǎn)行成int類型即可。比如,獲取[0, 100)之間的int整數(shù)。方法如下:
final?long?l?=?System.currentTimeMillis();final?int?i?=?(int)(?l?%?100?);
第2種
通過Math.random()來獲取隨機(jī)數(shù)。實(shí)際上,它返回的是0(包含)到1(不包含)之間的double值。使用方法如下:
final?double?d?=?Math.random();
若要獲取int類型的整數(shù),只需要將上面的結(jié)果轉(zhuǎn)行成int類型即可。比如,獲取[0, 100)之間的int整數(shù)。方法如下:
final?double?d?=?Math.random();final?int?i?=?(int)(d*100);
第3種
通過Random類來獲取隨機(jī)數(shù)。
使用方法如下:
(01)?創(chuàng)建Random對(duì)象。有兩種方法可以創(chuàng)建Random對(duì)象,如下:
Random?random?=?new?Random();//默認(rèn)構(gòu)造方法Random?random?=?new?Random(1000);//指定種子數(shù)字
(02)?通過Random對(duì)象獲取隨機(jī)數(shù)。Random支持的隨機(jī)值類型包括:boolean, byte, int, long, float, double。
比如,獲取[0, 100)之間的int整數(shù)。方法如下: int?i2?=?random.nextInt(100);
隨機(jī)數(shù)控制在某個(gè)范圍內(nèi),使用模數(shù)運(yùn)算符%\x0d\x0a import java.util.*;\x0d\x0a class TestRandom {\x0d\x0a public static void main(String[] args) {\x0d\x0a Random random = new Random();\x0d\x0a for(int i = 0; i
回答于?2022-11-16
要生成在[min,max]之間的隨機(jī)整數(shù),可使用Random類進(jìn)行相關(guān)運(yùn)算,代碼如下:
import java.util.Random;
public class RandomTest {
public static void main(String[] args) {
int max=10000;
int min=1000;
Random random = new Random();
int s = random.nextInt(max)%(max-min+1) + min;
System.out.println(s);
}
}
random.nextInt(max)表示生成[0,max]之間的隨機(jī)數(shù),然后對(duì)(max-min+1)取模。
以生成[1000,10000]隨機(jī)數(shù)為例,首先生成0-10000的隨機(jī)數(shù),然后對(duì)(10000-1000+1)取模得到[0-1000]之間的隨機(jī)數(shù),然后加上min=1000,最后生成的是1000-10000的隨機(jī)數(shù)