java中random的用法小結
java中存在兩個隨機函數,它們分別來自java.long.Math.random()和 java.util.Random();其中前者的適用范圍比較小,完全可以被后者取代。
一、java.lang.Math.random()方法的用法
①、方法類型:
public static double random();
此方法是一個無參,double類型返回值的公開靜態(tài)方法。
返回一個大于0的double類型數據,該值大于等于0.0且小于1.0,返回的是一個偽隨機選擇數,在該范圍內(幾乎)均勻分布。
例如:
public class TestRandom{
public static void main(String[] args){
int sum=0;
while(true){
float a=(float)Math.random();
System.out.println(a);
sum++;
if(sum==10)
break;
}
}
}

二、 java.util.Random類用法
①、該類的構造方法:
Random():構造一個無參的隨機數生成器。使用系統時間的毫秒作為默認種子。
Random(long seed):使用 long數據類型的種子構造一個隨機數生成器。
②方法摘要:
boolean nextBoolean():返回下一個偽隨機數,它是取自此隨機數生成器序列的均勻分布的 boolean值。
double nextDouble():返回下一個偽隨機數,它是
取自此隨機數生成器序列的、在 0.0 和 1.0 之間均勻分布的 double 值。
float nextFloat():返回下一個偽隨機數,它是取自此隨機數生成器序列的、在 0.0 和 1.0 之間均勻分布的 float 值。
int nextInt():返回下一個偽隨機數,它是此隨機數生成器的序列中均勻分布的 int 值.
int nextInt(int n):返回一個偽隨機數,它是取自此隨機數生成器序列的、在 0(包括)和指定值n(不包括)之間均勻分布的 int 值。
long nextLong():返回下一個偽隨機數,它是取自此隨機數生成器序列的均勻分布的 long 值。
void setSeed(long seed):使用單個 long 種子設置此隨機數生成器的種子。
注意:如果用相同的種子創(chuàng)建兩個 Random 實例,則對每個實例進行相同的方法調用序列,它們將生成并返回相同的數字序列。
例如:
public class TestRandom{
?? ?public static void main(String[] args){
?? ??? ?int sum=0;?? ??? ?
?? ??? ?java.util.Random random=new java.util.Random();
?? ??? ?for(int i=0;i<10;i++){
?? ??? ??? ?int a=random.nextInt(10);
?? ??? ??? ?System.out.print(a+" ?");
?? ??? ?}
?? ??? ?System.out.println("");
?? ??? ?for(int i=0;i<10;i++){
?? ??? ??? ?int a=random.nextInt();
?? ??? ??? ?System.out.println(a);
?? ??? ?}
?? ??? ?System.out.println("");
?? ??? ?for(int i=0;i<10;i++){
?? ??? ??? ?double a=random.nextDouble();
?? ??? ??? ?System.out.println(a);
?? ??? ?}
?? ??? ?System.out.println("");
?? ??? ?for(int i=0;i<10;i++){
?? ??? ??? ?boolean a=random.nextBoolean();
?? ??? ??? ?System.out.println(a);
?? ??? ?}
?? ??? ?System.out.println("");
?? ?}
}結果為:

到此這篇關于java中random的用法詳解的文章就介紹到這了,更多相關java中random用法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解Java中格式化日期的DateFormat與SimpleDateFormat類
DateFormat其本身是一個抽象類,SimpleDateFormat 類是DateFormat類的子類,一般情況下來講DateFormat類很少會直接使用,而都使用SimpleDateFormat類完成,下面我們具體來看一下兩個類的用法:2016-05-05
淺談java中String StringBuffer StringBuilder的區(qū)別
下面小編就為大家?guī)硪黄獪\談java中String StringBuffer StringBuilder的區(qū)別。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06

