更新時(shí)間:2021-04-30 11:19:37 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1163次
java中一般是通過Random類來獲取隨機(jī)數(shù),構(gòu)造函數(shù)一般有兩種形式
- Random(long seed);
- Random();
第一種是利用seed作為隨機(jī)發(fā)生器的種子
而第二種省略了seed,則則利用系統(tǒng)時(shí)間作為隨機(jī)發(fā)生器的種子
Random random = new Random();創(chuàng)建完隨機(jī)對(duì)象之后通過以下方法可以獲得不同類型的隨機(jī)數(shù)method:nextInt()、nextLong()、nextFloat()、nextDouble();
以下是一個(gè)Demo
import java.util.Random;
public class CeShi{
public static void main(String []args) {
Random random = new Random();//隨機(jī)數(shù)種子為系統(tǒng)時(shí)間
Random random1 = new Random(10);//隨機(jī)數(shù)種子為10
System.out.println(random.nextInt());
System.out.println(random1.nextInt());
}
}
運(yùn)行兩次結(jié)果如下:
第一次
167473050
-1157793070
第二次
1939312458
-1157793070
兩次運(yùn)行可知使用系統(tǒng)時(shí)間作為隨機(jī)數(shù)種子產(chǎn)生的隨機(jī)數(shù)有變化但是利用10 作為隨機(jī)數(shù)種子產(chǎn)生的隨機(jī)數(shù)不管運(yùn)行多少次都不變
如果Random對(duì)象使用相同的種子(比如都是100),并且以相同的順序調(diào)用相同的函數(shù),那它們返回值完全相同。
1.通過java.util包中的Random類的next方法來獲得
import java.util.Random;
public class CeShi{
public static void main(String []args) {
Random random = new Random();
for(int i=0;i<10;i++)
System.out.print(random.nextInt(100)+" ");
}
}
三次運(yùn)行結(jié)果如下:
2.(數(shù)據(jù)類型)(最小值+Math.random()*(最大值-最小值+1))
1如果要產(chǎn)生100以內(nèi)的隨機(jī)數(shù)
(int)(Math.random()*(100-1+1))
產(chǎn)生1到100 以內(nèi)的隨機(jī)數(shù)
import java.util.Random;
public class CeShi{
public static void main(String []args) {
Random random = new Random();
for(int i=0;i<10;i++)
System.out.print((int)(Math.random()*100)+" ");
}
}
3.利用%進(jìn)行取模操作即可
產(chǎn)生的隨機(jī)數(shù)有正有負(fù),利用abs方法取絕對(duì)值
通過%100就能得到100 以內(nèi)的隨機(jī)數(shù)
import java.util.Random;
public class CeShi{
public static void main(String []args) {
Random random = new Random();
for(int i=0;i<10;i++)
System.out.print(Math.abs(random.nextInt()%100)+" ");
}
}
以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"Java獲取隨機(jī)數(shù)的方法"的內(nèi)容,希望對(duì)大家有幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您服務(wù)。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)