標題: 介紹java 產(chǎn)生隨機數(shù)的兩種方式 [打印本頁] 作者: carrotz 時間: 2010-01-29 15:58 標題: 介紹java 產(chǎn)生隨機數(shù)的兩種方式 在java中,我們可以通過兩種方式來獲取隨機數(shù)(generating a random number)一種是大家熟悉的java.lang.Math.Random()靜態(tài)方法,另一種是創(chuàng)建java.util.Random對象。下面是兩種方法的使用過程:
一.java.lang.Math.random()
在使用這一靜態(tài)方法的時候,我們不需要import任何包,因為java.lang.*包是默認載入的,下面舉例說面使用方法:
public class RandomTest{
public static void main(String[] args){
int i=Math.random();//random()會自動產(chǎn)生一個0.0-1.0的雙精度隨機數(shù)
System.out.println(i);//輸出
i=Math.random()*1000;//產(chǎn)生0-1000的雙精度隨機數(shù)
System.out.println(i);
int b=(int)(Math.random()*1000);//產(chǎn)生0-1000的整數(shù)隨機數(shù)
System.out.println(b);
}
}
二.創(chuàng)建java.util.Random對象
import java.util.random
public class RandomTest{
public static void main(String[] args){
Random random=new Random();//創(chuàng)建random對象
int intNumber=random.nextInt();//獲取一個整型數(shù)
float floatNumber=random.nextFloat();//獲取一個浮點數(shù)(0-1)
double doubleNumber=random.nextDouble();//獲取雙精度數(shù)(0-1)
boolean booleanNumber=random.nextBoolean();//獲取boolean數(shù)
System.out.println("intNumber:"+intNumber);
System.out.println("floatNumber:"+floatNumber);
System.out.println("doubleNumber:"+doubleNumber);
System.out.println("booleanNumber:"+booleanNumber);
}
}
random在產(chǎn)生隨機數(shù)的時候使用當前的時間作為基數(shù),我們可以同過System.currentTimeMillis()來獲取這個基數(shù)。當然我們也可以指定基數(shù):
Random random=new Random(100);
同一基數(shù)所產(chǎn)生的隨機數(shù)序列是一樣的,可以用下面這一段程序進行印證:
import java.util.random
public class RandomTest{
public static void main(String[] args){
Random random1=new Random(100);
Random random2=new Random(100);
for(int i=0;i
}
}