導航:首頁 > 源碼編譯 > java源碼random

java源碼random

發布時間:2022-06-23 06:42:06

java中如何用random函數產生不重復的隨機數

廢話不多說直接上代碼!
import java.util.ArrayList;
import java.util.Random;
public class Test {
public static void main(String[] args) {
// 生成 [0-n) 個不重復的隨機數
// list 用來保存這些隨機數
ArrayList list = new ArrayList();
int n = 10;
Random rand = new Random();
boolean[] bool = new boolean[n];
int num = 0;
for (int i = 0; i < n; i++) {
do {
// 如果產生的數相同繼續循環
num = rand.nextInt(n);
} while (bool[num]);
bool[num] = true;
list.add(num);
}
System.out.println(list);
}
}

㈡ java關於Random的用法

在Java的API幫助文檔中,Random函數功能的描述:

1、java.util.Random類中實現的隨機演算法是偽隨機,也就是有規則的隨機,所謂有規則的就是在給定種(seed)的區間內隨機生成數字;

2、相同種子數的Random對象,相同次數生成的隨機數字是完全相同的;

3、Random類中各方法生成的隨機數字都是均勻分布的,也就是說區間內部的數字生成的幾率均等。

(2)java源碼random擴展閱讀:

Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。

Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等

語言特點:

1.簡單性:

Java看起來設計得很像C++,但是為了使語言小和容易熟悉,設計者們把C++語言中許多可用的特徵去掉了,這些特徵是一般程序員很少使用的。例如,Java不支持go to語句,代之以提供break和continue語句以及異常處理。Java還剔除了C++的操作符過載(overload)和多繼承特徵,並且不使用主文件,免去了預處理程序。

因為Java沒有結構,數組和串都是對象,所以不需要指針。Java能夠自動處理對象的引用和間接引用,實現自動的無用單元收集,使用戶不必為存儲管理問題煩惱,能更多的時間和精力花在研發上。

2.面向對象:

Java是一個面向對象的語言。對程序員來說,這意味著要注意應中的數據和操縱數據的方法(method),而不是嚴格地用過程來思考。在一個面向對象的系統中,類(class)是數據和操作數據的方法的集合。數據和方法一起描述對象(object)的狀態和行為。每一對象是其狀態和行為的封裝。類是按一定體系和層次安排的,使得子類可以從超類繼承行為。

在這個類層次體系中有一個根類,它是具有一般行為的類。Java程序是用類來組織的。Java還包括一個類的擴展集合,分別組成各種程序包(Package),用戶可以在自己的程序中使用。例如,Java提供產生圖形用戶介面部件的類(java.awt包),這里awt是抽象窗口工具集(abstract windowing toolkit)的縮寫,處理輸入輸出的類(java.io包)和支持網路功能的類(java.net包)。

3.分布性:

Java設計成支持在網路上應用,它是分布式語言。Java既支持各種層次的網路連接,又以Socket類支持可靠的流(stream)網路連接,所以用戶可以產生分布式的客戶機和伺服器。網路變成軟體應用的分布運載工具。Java程序只要編寫一次,就可到處運行。

4.編譯和解釋性:

Java編譯程序生成位元組碼(byte-code),而不是通常的機器碼。Java位元組碼提供對體系結構中性的目標文件格式,代碼設計成可有效地傳送程序到多個平台。Java程序可以在任何實現了Java解釋程序和運行系統(run-time system)的系統上運行。

在一個解釋性的環境中,程序開發的標准「鏈接」階段大大消失了。如果說Java還有一個鏈接階段,它只是把新類裝進環境的過程,它是增量式的、輕量級的過程。因此,Java支持快速原型和容易試驗,它將導致快速程序開發。這是一個與傳統的、耗時的「編譯、鏈接和測試」形成鮮明對比的精巧的開發過程。

參考資料:網路-java

㈢ java用random怎麼產生隨機數

我來舉一個例子,用random生成四位的隨機數,看如下代碼:

importjava.util.Random;

publicclassTestRandom{

publicstaticvoidmain(String[]args){

generateFourNum();
}

(){

int[]values=newint[4];

Randomrandom=newRandom();

for(inti=0;i<4;i++){

intnum=random.nextInt(20);//用nextInt()方法生成20以內的數字

values[i]=num;

System.out.println(values[i]);
}
}

㈣ java中random屬性

代碼如下


publicclassTest{

publicstaticvoidmain(String[]args){
Randomrandom=newRandom();
intnum[]=newint[5];
for(inti=0;i<5;i++){
num[i]=random.nextInt();
}
}
}

㈤ Java中用Random類生成1到9的隨機數該怎麼寫使用種子

寫法:inttemp=m+(int)(Math.random()*(n+1-m));//Java生成從m到n的隨機整數[m,n]。

random(),函數,random函數返回一個0~num-1之間的隨機數。random(num)是在stdlib.h中的一個宏定義。num和函數返回值都是整型數。

(5)java源碼random擴展閱讀:

注意

如需要在一個random()序列上生成真正意義的隨機數,在執行其子序列時使用randomSeed()函數預設一個絕對的隨機輸入,例如在一個斷開引腳上的analogRead()函數的返回值。

反之,有些時候偽隨機數的精確重復也是有用的。這可以在一個隨機系列開始前,通過調用一個使用固定數值的randomSeed()函數來完成。

㈥ java中,利用random()產生隨機整數的問題。

java生成隨機整數的不同方法總結,具體看下面代碼:如下圖

㈦ java語言中,random的是怎麼實現的

看過源代碼,是以System.currentMillionSeconds()為種子,然後計算出來的隨機數。

看API解釋

public class Randomextends Objectimplements Serializable此類的實例用於生成偽隨機數流。此類使用 48 位的種子,使用線性同餘公式對其進行修改(請參閱 Donald Knuth 的《The Art of Computer Programming, Volume 2》,第 3.2.1 節)。

如果用相同的種子創建兩個 Random 實例,則對每個實例進行相同的方法調用序列,它們將生成並返回相同的數字序列。為了保證屬性的實現,為類 Random 指定了特定的演算法。為了 Java 代碼的完全可移植性,Java 實現必須讓類 Random 使用此處所示的所有演算法。但是允許 Random 類的子類使用其他演算法,只要其符合所有方法的常規協定即可。

Random 類所實現的演算法使用一個 protected 實用工具方法,每次調用它都可提供最多 32 個偽隨機生成的位。

㈧ Java中的Random()用法。

java.util.Random b=new java.util.Random();
因為你的類名跟Jdk自帶的Random重復,導致優化引入你定義的Random,如果你想強制引用Jdk的Random需要使用包名.類型形式

㈨ 請問 這段Random的java代碼是什麼意思

Random類中實現的隨機演算法是偽隨機,也就是有規則的隨機。在進行隨機時,隨機演算法的起源數字稱為種子數(seed),在種子數的基礎上進行一定的變換,從而產生需要的隨機數字。
相同種子數的Random對象,相同次數生成的隨機數字是完全相同的。也就是說,兩個種子數相同的Random對象,第一次生成的隨機數字完全相同,第二次生成的隨機數字也完全相同。這點在生成多個隨機數字時需要特別注意。

㈩ java中random是什麼意思

Random()函數能夠返回帶正號的double值,該值大於等於0.0且小於1.0,即取值范圍是[0.0,1.0)的左閉右開區間,返回值是一個偽隨機選擇的數,在該范圍內(近似)均勻分布。

閱讀全文

與java源碼random相關的資料

熱點內容
怎樣在打開微信前加密 瀏覽:664
旺旺聊天記錄怎麼加密 瀏覽:411
王安憶長恨歌pdf 瀏覽:619
mobile文件夾可以卸載嗎 瀏覽:280
什麼是2通道伺服器 瀏覽:346
mc正版怎麼開伺服器地址 瀏覽:408
樂高解壓朋友圈 瀏覽:14
linux軟raid性能 瀏覽:368
貼片機編程軟體下載 瀏覽:360
mooc大學樂學python答案 瀏覽:408
怎麼投訴途虎app 瀏覽:37
安卓重力感應怎麼關 瀏覽:720
我的世界ios怎麼建伺服器地址 瀏覽:759
伺服器埠ip都是什麼意思 瀏覽:263
華為主題軟體app怎麼下 瀏覽:840
我們的圖片能夠收藏加密嗎 瀏覽:979
mysql空值命令 瀏覽:213
python整點秒殺 瀏覽:885
怎麼樣互傳app 瀏覽:293
python分布式抓包 瀏覽:38