程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java產生隨機數的兩種方式

Java產生隨機數的兩種方式

編輯:關於JAVA

在java中,我們可以通過兩種方式來獲取隨機數(generating a random number)一種是大家熟悉的java.lang.Math.Random()靜態方法,另一種是創建java.util.Random對象。下面是兩種方法的使用過程:

一.java.lang.Math.random()

在使用這一靜態方法的時候,我們不需要import任何包,因為java.lang.*包是默認載入的,下面舉例說面使用方法:

public class RandomTest{
  public static void main(String[] args){
    int i=Math.random();//random()會自動產生一個0.0-1.0的雙精度隨機數
    System.out.println(i);//輸出
    i=Math.random()*1000;//產生0-1000的雙精度隨機數 
    System.out.println(i);
    int b=(int)(Math.random()*1000);//產生0-1000的整數隨機數 
    System.out.println(b);
  }
}

二.創建java.util.Random對象

import java.util.random
public class RandomTest{
  public static void main(String[] args){
    Random random=new Random();//創建random對象
    int intNumber=random.nextInt();//獲取一個整型數
    float floatNumber=random.nextFloat();//獲取一個浮點數(0-1)
    double doubleNumber=random.nextDouble();//獲取雙精度數(0-1)
    boolean booleanNumber=random.nextBoolean();//獲取boolean數
    System.out.println("intNumber:"+intNumber);
    System.out.println("floatNumber:"+floatNumber);
    System.out.println("doubleNumber:"+doubleNumber);
    System.out.println("booleanNumber:"+booleanNumber);
  }
}

random在產生隨機數的時候使用當前的時間作為基數,我們可以同過System.currentTimeMillis()來獲取這個基數。當然我們也可以指定基數:

Random random=new Random(100);

同一基數所產生的隨機數序列是一樣的,可以用下面這一段程序進行印證:

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<5;i++){
      System.out.print(random1.nextInt()+"\t");
      System.out.println(random2.nextInt()+"\t");
      System.out.println("---------------------------------");
    }
  }
}

我們可以發現random1和random2所產生的隨機數是相同的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved