導航:首頁 > 編程語言 > java整數隨機數

java整數隨機數

發布時間:2023-03-03 13:08:03

java獲取隨機數

很多朋友都想知道java怎麼獲取隨機數?下面就一起來了解一下吧~

Java中的隨機數的有三種產生方式:
(01). 通過System.currentTimeMillis()來獲取一個當前時間毫秒數的long型數字。
(02). 通過Math.random()返回一個0到1之間的double值。
(03). 通過Random類來產生一個隨機數。

第1種

通過System.currentTimeMillis()來獲取隨機數。實際上是獲取當前時間毫秒數,它是long類型。使用方法如下:
final long l = System.currentTimeMillis();
若要獲取int類型的整數,只需要將上面的結果轉行成int類型即可。比如,獲取[0, 100)之間的int整數。方法如下:
final long l = System.currentTimeMillis();final int i = (int)( l % 100 );

第2種

通過Math.random()來獲取隨機數。實際上,它返回的是0(包含)到1(不包含)之間的double值。使用方法如下:
final double d = Math.random();
若要獲取int類型的整數,只需要將上面的結果轉行成int類型即可。比如,獲取[0, 100)之間的int整數。方法如下:
final double d = Math.random();final int i = (int)(d*100);
第3種

通過Random類來獲取隨機數。

使用方法如下:
(01) 創建Random對象。有兩種方法可以創建Random對象,如下:
Random random = new Random();//默認構造方法Random random = new Random(1000);//指定種子數字
(02) 通過Random對象獲取隨機數。Random支持的隨機值類型包括:boolean, byte, int, long, float, double。
比如,獲取[0, 100)之間的int整數。方法如下: int i2 = random.nextInt(100);

㈡ java如何產生1-8的整數隨機數

在java中,生成隨機數使用的是Random類。要生成在[min,max]之間的隨機整數,則可以如下:
import java.util.Random;
public class RandomTest {
public static void main(String[] args) {
int max = 8;
int min = 1;
Random random = new Random();

int s = random.nextInt(max)%(max-min+1) + min;
System.out.println(s);
}
}
其中,random.nextInt(max)表示生成[0,max]之間的隨機數,然後對(max-min+1)取模。

㈢ java中 怎樣實現隨機4位的整數

可以藉助Math類里的random方法或者藉助Random類來實現

1、使用Math類的random方法實現產生1000-9999的隨機數代碼如下:

inta=(int)(Math.random()*(9999-1000+1))+1000;//產生1000-9999的隨機數

2、使用Random類實現代碼:

importjava.util.Random;//導入Random包
publicclassRanadd{
publicstaticvoidmain(String[]args){
intx;//定義兩變數
Randomne=newRandom();//實例化一個random的對象ne
x=ne.nextInt(9999-1000+1)+1000;//為變數賦隨機值1000-9999
System.out.println("產生的隨機數是:"+x);//輸出
}

}

說明:

1、Java中Math類中有random方法產生的隨機數是一個偽隨機選擇的(大致)均勻分布在從0.0到1.0這一范圍內的double類型數

2、java.util.Random類中實現的隨機演算法是偽隨機,也就是有規則的隨機,所謂有規則的就是在給定種(seed)的區間內隨機生成數字;相同種子數的Random對象,相同次數生成的隨機數字是完全相同的;Random類中各方法生成的隨機數字都是均勻分布的,也就是說區間內部的數字生成的幾率均等;

㈣ java如何產生1-10隨機數

java代碼方法一如下:

int random=(int)(Math.random()*10+1)

java代碼方法二如下:

package bdqn_Empy;

import java.util.Random;

public class Text {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=0;
Random b=new Random();
a=b.nextInt(101);
System.out.println(a);
}

}

(4)java整數隨機數擴展閱讀:

可以先通過 random方法生成一個隨機數,然後將結果乘以10。此時產生的隨機數字即為大於等於0小於10的數字。

然後再利用nt方法進行轉換它會去掉小數掉後面的數字即只獲取整數部分,不是四捨五入)。最後即可獲取一個0到9的整數型隨機數字。其實現方法很簡單,就是對原有的 grandom方法按照如下的格式進行變型:(int( Math. Random0*10)即可。

其實我們還可以對這個方法進行擴展,讓其產生任意范圍內的隨機數。至需要將這個10換成n即可,如改為( int(Math. Random0n)。此時應用程序就會產生一個大於等於0小與n之間的隨機數。

如將n設置為5,那麼其就會產生一個0到5之間的整數型的隨機數。如果將這個寫成一個帶參數的方法,那麼只要用戶輸入需要生成隨機數的最大值,就可以讓這個方法來生成制定范圍的隨機數。

㈤ 在java中隨機生成10個整數,用戶求輸入一個數,判斷是否存在於這10個整數中

由於你沒有指定這10個整數的生成范圍,所以我這里假定是0~99之間的整數,這樣用戶輸入時有10%的幾率命中。

整體代碼為:

public class Main {

public static void main(String[] args) {
//聲明長度為10的隨機數數組
int[] randoms = new int[10];
Random random = new Random();
for (int i = 0; i < 10; i++) {
//獲取0~99之間的一個隨機整數,可通過調整nextInt的參數來修改隨機數范圍
int num = random.nextInt(100);
//如果新生成的數字已經存在於隨機數數組中,則重新生成
if (checkDistinct(randoms, num)) {
i--;
continue;
}
randoms[i] = num;
}
//增序排序,好看
Arrays.sort(randoms);

System.out.println("請輸入一個整數:");
Scanner scanner = new Scanner(System.in);
//嚴謹一點這里其實可以對輸入的in進行校驗,檢驗其是不是整數,校驗方法很多搜一下就有我這就不校驗了
int in = scanner.nextInt();
System.out.println("生成的隨機數數組為:");
System.out.println(Arrays.toString(randoms));
if (checkDistinct(randoms, in)) {
System.out.println("輸入的數字[" + in + "]在其中");
} else {
System.out.println("輸入的數字[" + in + "]不在其中");
}
}

//檢查新生成的數字是否存在於隨機數數組中,若存在,返回true
private static boolean checkDistinct(int[] randoms, int num) {
for (int i = 0; i < randoms.length; i++) {
if (randoms[i] == num) {
return true;
}
}
return false;
}
}

㈥ Java怎麼產生隨機數

有三個小方法
方法1
(數據類型)(最小值+Math.random()*(最大值-最小值+1))
例:
(int)(1+Math.random()*(10-1+1))
從1到10的int型隨數
方法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隨機數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

㈦ java獲取隨機數的幾種方法是什麼

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

㈧ 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和函數返回值都是整型數。

(8)java整數隨機數擴展閱讀:

注意

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

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

閱讀全文

與java整數隨機數相關的資料

熱點內容
安卓手機mp3壓縮工具 瀏覽:214
程序員和交易員 瀏覽:422
怎麼變字體樣式app 瀏覽:173
名字叫湯什麼的視頻app 瀏覽:207
金屬加密鍵盤聯系電話 瀏覽:335
自製解壓牛奶盒子教程 瀏覽:62
編譯高手的圖片 瀏覽:922
單片機數碼管顯示時分秒 瀏覽:780
手指解壓最簡單的方法 瀏覽:343
韓國郵箱伺服器地址 瀏覽:967
android版本介紹 瀏覽:410
pdf文件加密軟體 瀏覽:410
長沙住房app怎麼看備案 瀏覽:603
安裝加密軟體的電腦會被監控么 瀏覽:221
java微博源碼 瀏覽:569
堆排序簡單實現python 瀏覽:461
單片機引腳與鍵盤的關系 瀏覽:132
壓縮火柴盒製作 瀏覽:38
谷歌地圖android偏移 瀏覽:214
bitlocker硬碟加密空間 瀏覽:238