欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中的隨機(jī)數(shù)Random

 更新時(shí)間:2022年03月17日 11:17:20   作者:言葉.  
這篇文章主要介紹了Java中的隨機(jī)數(shù)Random,關(guān)于隨機(jī)數(shù)的介紹不設(shè)置隨機(jī)數(shù)種子,你每次隨機(jī)抽樣得到的數(shù)據(jù)都是不一樣的。設(shè)置了隨機(jī)數(shù)種子,能夠確保每次抽樣的結(jié)果一樣,下面來(lái)了解具體的詳細(xì)內(nèi)容介紹吧

一個(gè)用于生成隨機(jī)數(shù)的類

具體用法:

? //創(chuàng)建隨機(jī)數(shù)對(duì)象
? ? ? ? Random random = new Random();

? ? ? ? //隨機(jī)產(chǎn)生一個(gè)int類型取值范圍內(nèi)的數(shù)字。
? ? ? ? int num1 = random.nextInt();
? ? ? ? System.out.println(num1);

? ? ? ? //產(chǎn)生一個(gè)[0-100]之間的隨機(jī)數(shù)
? ? ? ? int num2 = random.nextInt(101);
? ? ? ? System.out.println(num2);//不包括101

寫一個(gè)不含重復(fù)數(shù)字的隨機(jī)數(shù)組

第一種:

int[] num = new int[5];
? ? ? ? boolean flag = true;
? ? ? ? Random random = new Random();
? ? ? ? for (int i = 0; i < num.length; i++) {
? ? ? ? ? ? int a = random.nextInt(5);
? ? ? ? ? ? for (int j = i - 1; j >= 0; j--) {//當(dāng)i == 0 的時(shí)候這一步不執(zhí)行
? ? ? ? ? ? ? ? if (a == num[j]) {
? ? ? ? ? ? ? ? ? ? flag = false;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? if (flag) {
? ? ? ? ? ? ? ? num[i] = a;
? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? i--;
? ? ? ? ? ? ? ? flag = true;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? ? ? ? ? System.out.println(Arrays.toString(num));

第一種方法的改進(jìn):

public static void main(String[] args) {
? ? ? ? int[] num = new int[5];
? ? ? ? Random random = new Random();

? ? ? ? int index = 0;
? ? ? ? while (index < num.length) {
? ? ? ? ? ? int a = random.nextInt(5);
? ? ? ? ? ? if (contains(num, index, a)) { //把判斷有沒有變成了一個(gè)方法
? ? ? ? ? ? ? ? num[index++] = a;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? System.out.println(Arrays.toString(num));
? ? }

? ? public static boolean contains(int[] a, int index, int temp) {
? ? ? ? for (int i = index - 1; i >= 0; i--) {
? ? ? ? ? ? if (temp == a[i]) {
? ? ? ? ? ? ? ? return false;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return true;
? ? }

第二種:

不推薦這種方法,雖然使用了Arrays自帶的方法 ,但是這個(gè)方法的除最后一個(gè)元素以外的元素都是排好序的

這種隨機(jī)有點(diǎn)不嚴(yán)謹(jǐn)

public static void main(String[] args) {
? ? ? ? int[] a = new int[5];
? ? ? ? Random random = new Random();
? ? ? ? int index = -1;
? ? ? ? while(index < a.length -1){
? ? ? ? ? ? int b = random.nextInt(5);
? ? ? ? ? ? if(contains(a,b,index)){
? ? ? ? ? ? ? ? a[++index] = b;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? System.out.println(Arrays.toString(a));
? ? }
? ? public static boolean contains(int[] a , int b , int index){
? ? ? ? if (index < 0){
? ? ? ? ? ? return true;
? ? ? ? }
? ? ? ? ? ? Arrays.sort(a,0,index + 1);//下標(biāo)為[0,index+1)的數(shù)組排序 不包含index+1
? ? ? ? return Arrays.binarySearch(a,0,index + 1,b) < 0;//二分法查找下標(biāo)為[0,index+1)范圍內(nèi)是否包含b ?
? ? }

到此這篇關(guān)于Java中的隨機(jī)數(shù)Random的文章就介紹到這了,更多相關(guān)隨機(jī)數(shù)Random內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring加載XSD文件發(fā)生錯(cuò)誤的解決方法

    Spring加載XSD文件發(fā)生錯(cuò)誤的解決方法

    這篇文章主要介紹了Spring加載XSD文件發(fā)生錯(cuò)誤的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • java多線程下載實(shí)例詳解

    java多線程下載實(shí)例詳解

    這篇文章主要介紹了java多線程下載,結(jié)合實(shí)例形式詳細(xì)分析了Java多線程文件傳輸?shù)脑砼c多線程下載的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-12-12
  • java并發(fā)包中CountDownLatch和線程池的使用詳解

    java并發(fā)包中CountDownLatch和線程池的使用詳解

    這篇文章主要介紹了java并發(fā)包中CountDownLatch和線程池的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • SpringBoot實(shí)現(xiàn)抽獎(jiǎng)算法的示例代碼

    SpringBoot實(shí)現(xiàn)抽獎(jiǎng)算法的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何通過(guò)SpringBoot實(shí)現(xiàn)抽獎(jiǎng)算法,文中的示例代碼簡(jiǎn)潔易懂,具有一定的參考價(jià)值,感興趣的小伙伴可以了解一下
    2023-06-06
  • 詳解spring batch的使用和定時(shí)器Quart的使用

    詳解spring batch的使用和定時(shí)器Quart的使用

    spring Batch是一個(gè)基于Spring的企業(yè)級(jí)批處理框架,它通過(guò)配合定時(shí)器Quartz來(lái)輕易實(shí)現(xiàn)大批量的數(shù)據(jù)讀取或插入,并且全程自動(dòng)化,無(wú)需人員管理
    2017-08-08
  • Java實(shí)現(xiàn)九宮格的簡(jiǎn)單實(shí)例

    Java實(shí)現(xiàn)九宮格的簡(jiǎn)單實(shí)例

    這篇文章主要介紹了 Java實(shí)現(xiàn)九宮格的簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • 基于Java實(shí)現(xiàn)二維碼的生成和解析

    基于Java實(shí)現(xiàn)二維碼的生成和解析

    二維碼其實(shí)就是一種編碼技術(shù),只是這種編碼技術(shù)是用在圖片上了,將給定的一些文字,數(shù)字轉(zhuǎn)換為一張經(jīng)過(guò)特定編碼的圖片。本文將利用Java實(shí)現(xiàn)二維碼的生成和解析,需要的可以參考一下
    2022-08-08
  • SpringBoot項(xiàng)目微信云托管入門部署實(shí)踐

    SpringBoot項(xiàng)目微信云托管入門部署實(shí)踐

    本文主要介紹了SpringBoot項(xiàng)目微信云托管入門部署實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Java中該如何優(yōu)雅的使用線程池詳解

    Java中該如何優(yōu)雅的使用線程池詳解

    在java開發(fā)中我們對(duì)“池”的概念并不陌生,常見的有數(shù)據(jù)庫(kù)連接池、線程池、對(duì)象池、常量池等等,其作用基本上就是避免頻繁的創(chuàng)建和回收,造成資源浪費(fèi),線程池也不例外,這篇文章主要給大家介紹了關(guān)于Java中該如何優(yōu)雅的使用線程池的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • Java-文件File簡(jiǎn)單實(shí)用方法(分享)

    Java-文件File簡(jiǎn)單實(shí)用方法(分享)

    下面小編就為大家?guī)?lái)一篇Java-文件File簡(jiǎn)單實(shí)用方法(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08

最新評(píng)論