導航:首頁 > 編程語言 > java生成16進制隨機數

java生成16進制隨機數

發布時間:2023-07-01 09:02:05

『壹』 求java生成隨機數的代碼

import java.util.Random;

public class RandomNumber{

public static void main(String[] args) {

// 使用java.lang.Math的random方法生成隨機數
System.out.println("Math.random(): " + Math.random());

// 使用不帶參數的構造方法構造java.util.Random對象
System.out.println("使用不帶參數的構造方法構造的Random對象:");
Random rd1 = new Random();
// 產生各種類型的隨機數
// 按均勻分布產生整數
System.out.println("int: " + rd1.nextInt());
// 按均勻分布產生長整數
System.out.println("long: " + rd1.nextLong());
// 按均勻分布產生大於等於0,小於1的float數[0, 1)
System.out.println("float: " + rd1.nextFloat());
// 按均勻分布產生[0, 1)范圍的double數
System.out.println("double: " + rd1.nextDouble());
// 按正態分布產生隨機數
System.out.println("Gaussian: " + rd1.nextGaussian());

// 生成一系列隨機數
System.out.print("隨機整數序列:");
for (int i = 0; i < 5; i++) {
System.out.print(rd1.nextInt() + " ");
}
System.out.println();

// 指定隨機數產生的范圍
System.out.print("[0,10)范圍內隨機整數序列: ");
for (int i = 0; i < 10; i++) {
// Random的nextInt(int n)方法返回一個[0, n)范圍內的隨機數
System.out.print(rd1.nextInt(10) + " ");
}
System.out.println();
System.out.print("[5,23)范圍內隨機整數序列: ");
for (int i = 0; i < 10; i++) {
// 因為nextInt(int n)方法的范圍是從0開始的,
// 所以需要把區間[5,28)轉換成5 + [0, 23)。
System.out.print(5 + rd1.nextInt(23) + " ");
}
System.out.println();
System.out.print("利用nextFloat()生成[0,99)范圍內的隨機整數序列: ");
for (int i = 0; i < 10; i++) {
System.out.print((int) (rd1.nextFloat() * 100) + " ");
}
System.out.println();
System.out.println();

// 使用帶參數的構造方法構造Random對象
// 構造函數的參數是long類型,是生成隨機數的種子。
System.out.println("使用帶參數的構造方法構造的Random對象:");
Random ran2 = new Random(10);
// 對於種子相同的Random對象,生成的隨機數序列是一樣的。
System.out.println("使用種子為10的Random對象生成[0,10)內隨機整數序列: ");
for (int i = 0; i < 10; i++) {
System.out.print(ran2.nextInt(10) + " ");
}
System.out.println();
Random ran3 = new Random(10);
System.out.println("使用另一個種子為10的Random對象生成[0,10)內隨機整數序列: ");
for (int i = 0; i < 10; i++) {
System.out.print(ran3.nextInt(10) + " ");
}
System.out.println();
// ran2和ran3生成的隨機數序列是一樣的,如果使用兩個沒帶參數構造函數生成的Random對象,
// 則不會出現這種情況,這是因為在沒帶參數構造函數生成的Random對象的種子預設是當前系統時間的毫秒數。

// 另外,直接使用Random無法避免生成重復的數字,如果需要生成不重復的隨機數序列,需要藉助數組和集合類
}
}運行結果:
C:\>java RandomNumber
Math.random(): 0.525171492959965
使用不帶參數的構造方法構造的Random對象:
int: 636539740
long: -752663949229005813
float: 0.87349784
double: 0.4065973309853902
Gaussian: 0.4505871918488808
隨機整數序列:1936784917 1339857386 -1185229615 1883411721 1409219372
[0,10)范圍內隨機整數序列: 1 1 5 5 9 0 1 0 2 4
[5,23)范圍內隨機整數序列: 9 13 26 18 11 27 26 12 21 8
利用nextFloat()生成[0,99)范圍內的隨機整數序列: 1 47 72 59 49 86 80 88 55 82

使用帶參數的構造方法構造的Random對象:
使用種子為10的Random對象生成[0,10)內隨機整數序列:
3 0 3 0 6 6 7 8 1 4
使用另一個種子為10的Random對象生成[0,10)內隨機整數序列:
3 0 3 0 6 6 7 8 1 4

『貳』 用Java 生成一個長度為40的、完全由16進制數組成的隨機字元串的方法:

用java.util.UUID 可以實現這個。
下面是樣例 :
ss[0]=====4cdbc040-657a-4847-b266-7e31d9e2c3d9,
ss[1]=====72297c88-4260-4c05-9b05-d28bfb11d10b,
ss[2]=====6d513b6a-69bd-4f79-b94c-d65fc841ea95,
ss[3]=====d897a7d3-87a3-4e38-9e0b-71013a6dbe4c,

『叄』 在java中產生隨機數

一、利用random方法來生成隨機數。

在Java語言中生成隨機數相對來說比較簡單,因為有一個現成的方法可以使用。在Math類中,Java語言提供了一個叫做random的方法。通過這個方法可以讓系統產生隨機數。不過默認情況下,其產生的隨機數范圍比較小,為大於等於0到小於1的double型隨機數。雖然其隨機數產生的范圍比較小,不能夠滿足日常的需求。如日常工作中可能需要產生整數的隨機數。其實,只要對這個方法進行一些靈活的處理,就可以獲取任意范圍的隨機數。

如我們可以先通過random方法生成一個隨機數,然後將結果乘以10。此時產生的隨機數字即為大於等於0小於10的數字。然後再利用Int方法進行轉換(它會去掉小數掉後面的數字,即只獲取整數部分,不是四捨五入)。最後即可獲取一個0到9的整數型隨機數字。其實現方法很簡單,就是對原有的random方法按照如下的格式進行變型:(int)(Math.Random()*10)即可。其實我們還可以對這個方法進行擴展,讓其產生任意范圍內的隨機數。至需要將這個10換成n即可,如改為(int)(Math.Random()*n)。此時應用程序就會產生一個大於等於0小與n之間的隨機數。如將n設置為5,那麼其就會產生一個0到5之間的整數型的隨機數。如果將這個寫成一個帶參數的方法,那麼只要用戶輸入需要生成隨機數的最大值,就可以讓這個方法來生成制定范圍的隨機數。在Java中定義自己的工具

有時候程序員可能需要生成一個指定范圍內的隨機偶數或者奇數。此時是否可以通過這個方法來實現呢?答案是肯定的。如現在程序要需要生成一個1-100范圍內的偶數。此時該如何實現?首先,需要生成一個0到99之內的隨機數(至於這里為什麼是99,大家耐心看下去就知道原因了)。要實現這個需求,很簡單吧,只要通過如下語句就可以實現: i=1+(int)(Math.Random()*100)。其中(int)(Math.Random()*99)產生0到99的整數型隨機數。然後再加上1就是產生1到100之間的隨機整數。然後將產生的隨機數賦值給變數i。但是此時其產生的隨機數即有偶數,又有奇數。而現在程序員需要的是一個隨機的偶數。那麼我們可以在後面加上一個if判斷語句。將這個隨機數除以2,如果沒有餘數的話(或者余數為0)則表明這個隨機數是偶數,直接返回即可。如果其返回的余數不為零,那麼就表明其是奇數,我們只要加上1就變為了偶數,返回即可。注意,在上面的隨機數生成中,筆者採用的范圍是0到99,然後再加上1讓其變為1到100的隨機數。最後的結果就是生成1到100之間的隨機偶數。其實,如果要范圍隨機奇數的話,至需要對上面的語句進行稍微的修改即可。Java:改變你我的世界

『肆』 Java產生隨機數的幾種方式

方法1
(數據類型)(最小值+Math.random()*(最大值-最小值+1))
例:
(int)(1+Math.random()*(10-1+1))
從1到10的型隨數
方法2
獲得隨機數
for (int i=0;i<30;i++)
{System.out.println((int)(1+Math.random()*10));}
(int)(1+Math.random()*10)
通過java.Math包的random方法得到1-10的int隨機數
公式是:最小值---最大值(整數)的隨機數
(類型)最小值+Math.random()*最大值
方法3
Random ra =new Random();
for (int i=0;i<30;i++)
{System.out.println(ra.nextInt(10)+1);}
通過java.util包中的Random類的nextInt方法來得到1-10的int隨機數
生成0到1之間的任意隨機小數:
生成[0,d)區間的隨機小數,d為任意正的小數,則只需要將nextDouble方法的返回值乘以d即可。
[n1,n2]
也就是 ra.nextDouble() * (n2-n1)+n1

『伍』 如何隨機生成一個16進制數,並轉成字元串

生成的10進制數、轉換成16進制

int a = new java.util.Random().nextInt(1000);
String hex= Integer.toHexString(a);

System.out.println(a+" -> " + hex);

『陸』 java如何生成隨機數

可以先通過random方法生成一個隨機數,然後將結果乘以100,然後再利用int方法進行轉換,就可以得到一個0到99的隨機整數。

『柒』 java中隨機數怎麼生成

java的三種隨機數生成方式

隨機數的產生在一些代碼中很常用,也是我們必須要掌握的。而java中產生隨機數的方法主要有三種:
第一種:new Random()
第二種:Math.random()
第三種:currentTimeMillis()

『捌』 Java怎麼產生隨機數

特意為你寫了代碼,你上機試下吧。
import java.util.Random;
public class Random1 {
public static void main(String[] args) {
Random ran=new Random();
System.out.println(ran.nextInt(2));
}

}
ran就是引用,隨便叫什麼回名字都可以的,ran.nextInt(2)意思就是只能產答生小於2的正整數。
如果你想得到0到100的隨機數的話就是ran.nextInt(101);差不多就是這樣吧,希望採納,呵呵

閱讀全文

與java生成16進制隨機數相關的資料

熱點內容
逍遙安卓微信驗證 瀏覽:579
5g網路什麼時候普及河北邢台 瀏覽:709
編程和運營哪個更適合創業 瀏覽:893
尤里x怎麼升級 瀏覽:399
做業務績效考核需要哪些數據 瀏覽:433
dnf85版本劍魔刷圖加點 瀏覽:407
手機硬碟測試架可以讀取哪些數據 瀏覽:704
ug前後處理結算結果找不到文件 瀏覽:769
網頁框架拆分代碼 瀏覽:382
未來十年網路安全有什麼影響 瀏覽:362
win10更新後進不了劍靈 瀏覽:243
iphone471激活出錯 瀏覽:648
怎麼把文件拷到u盤 瀏覽:620
中伊簽署文件視頻 瀏覽:661
電信光寬頻網路不穩定 瀏覽:504
網路崗軟路由 瀏覽:995
黑莓z10在哪裡下載app 瀏覽:310
net批量下載文件 瀏覽:696
怎麼把蘋果一體機文件拷貝 瀏覽:117
sql文件怎麼寫 瀏覽:9

友情鏈接