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

Java實現(xiàn)生成n個不重復(fù)的隨機數(shù)

 更新時間:2021年03月22日 10:53:52   作者:_zw  
這篇文章主要為大家詳細介紹了Java實現(xiàn)生成n個不重復(fù)的隨機數(shù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Java實現(xiàn)生成n個不重復(fù)的隨機數(shù)的具體代碼,供大家參考,具體內(nèi)容如下

需求:

根據(jù)min和max,生成n個不重復(fù)的隨機數(shù)。(注:范圍[min,max],n <= (max - min +1))

思路:

0)、把從min到max的可能出現(xiàn)的數(shù)字全部放進一個候選List;
1)、隨機生成索引index(0 <= index <= (list.size()-1));
2)、根據(jù)index從List中取出一個數(shù),list.get(index),并移除這個元素;

代碼如下:

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class MyRandom {

 /**
 * 根據(jù)min和max隨機生成一個范圍在[min,max]的隨機數(shù),包括min和max
 * @param min
 * @param max
 * @return int
 */
 public int getRandom(int min, int max){
 Random random = new Random();
 return random.nextInt( max - min + 1 ) + min;
 }

 /**
 * 根據(jù)min和max隨機生成count個不重復(fù)的隨機數(shù)組
 * @param min
 * @param max
 * @param count
 * @return int[]
 */
 public int[] getRandoms(int min, int max, int count){
 int[] randoms = new int[count];
 List<Integer> listRandom = new ArrayList<Integer>();

 if( count > ( max - min + 1 )){
  return null;
 }
 // 將所有的可能出現(xiàn)的數(shù)字放進候選list
 for(int i = min; i <= max; i++){
  listRandom.add(i);
 }
 // 從候選list中取出放入數(shù)組,已經(jīng)被選中的就從這個list中移除
 for(int i = 0; i < count; i++){
  int index = getRandom(0, listRandom.size()-1);
  randoms[i] = listRandom.get(index);
  listRandom.remove(index);
 }

 return randoms;
 }
}

小編再為大家分享一段:java產(chǎn)生10個不同隨機數(shù)的代碼:

package exercise03_jdknews;

import java.util.Random;
import java.util.Vector;

/**
 * 獲取10個1-20之間的隨機數(shù),要求不能重復(fù)
 * 
 * @author lgt
 *
 */
public class RandomNumberNoRepeat {
 public static void main(String[] args) {
 //創(chuàng)建一個產(chǎn)生隨機數(shù)的對象
 Random r = new Random();

 //創(chuàng)建一個存儲隨機數(shù)的集合
 Vector<Integer> v = new Vector<Integer>();

 //定義一個統(tǒng)計變量
 int count = 0;

 while(count < 10){
  int number = r.nextInt(20) + 1;

  //判斷number是否在集合中存在
  if(!v.contains(number)){
  //不在集合中,就添加
  v.add(number);
  count++;
  }
 }

 //遍歷輸出
 for(int i : v){
  System.out.println(i);
 }
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java.net.SocketException: Connection reset 解決方法

    java.net.SocketException: Connection reset 解決方法

    最近糾結(jié)致死的一個java報錯java.net.SocketException: Connection reset 終于得到解決
    2013-03-03
  • 關(guān)于mybatis-plus邏輯刪除自動填充更新時間的問題

    關(guān)于mybatis-plus邏輯刪除自動填充更新時間的問題

    mybatis-plus是對mybatis的增強,mybatis-plus更像是面向?qū)ο缶幊?,?shù)據(jù)庫基本CRUD的操作可以不用手動編寫SQL語句,大大提高了開發(fā)的效率,這篇文章主要介紹了mybatis-plus邏輯刪除自動填充更新時間問題,需要的朋友可以參考下
    2022-07-07
  • XML操作類庫XStream使用詳解

    XML操作類庫XStream使用詳解

    這篇文章主要給大家介紹了關(guān)于XML操作類庫XStream使用的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • Java結(jié)構(gòu)型設(shè)計模式中的適配器模式與橋接模式解析

    Java結(jié)構(gòu)型設(shè)計模式中的適配器模式與橋接模式解析

    這篇文章主要介紹了Java結(jié)構(gòu)型設(shè)計模式中的適配器模式與橋接模式,結(jié)構(gòu)型設(shè)計模式是從程序的結(jié)構(gòu)上解決模塊之間的耦合問題,需要的朋友可以參考下
    2016-02-02
  • Spring Boot事務(wù)配置詳解

    Spring Boot事務(wù)配置詳解

    這篇文章主要介紹了Spring Boot事務(wù)配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • spring異步service中處理線程數(shù)限制詳解

    spring異步service中處理線程數(shù)限制詳解

    這篇文章主要給大家介紹了關(guān)于spring異步service中處理線程數(shù)限制的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用spring具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Java集合中的CopyOnWriteArrayList使用詳解

    Java集合中的CopyOnWriteArrayList使用詳解

    這篇文章主要介紹了Java集合中的CopyOnWriteArrayList使用詳解,CopyOnWriteArrayList是ArrayList的線程安全版本,從他的名字可以推測,CopyOnWriteArrayList是在有寫操作的時候會copy一份數(shù)據(jù),然后寫完再設(shè)置成新的數(shù)據(jù),需要的朋友可以參考下
    2023-12-12
  • 基于Java并發(fā)容器ConcurrentHashMap#put方法解析

    基于Java并發(fā)容器ConcurrentHashMap#put方法解析

    下面小編就為大家?guī)硪黄贘ava并發(fā)容器ConcurrentHashMap#put方法解析。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 深入了解JAVA數(shù)據(jù)類型與運算符

    深入了解JAVA數(shù)據(jù)類型與運算符

    這篇文章主要介紹了Java基本數(shù)據(jù)類型和運算符,結(jié)合實例形式詳細分析了java基本數(shù)據(jù)類型、數(shù)據(jù)類型轉(zhuǎn)換、算術(shù)運算符、邏輯運算符等相關(guān)原理與操作技巧,需要的朋友可以參考下
    2021-07-07
  • Java 中使用Spring Security的實例詳解

    Java 中使用Spring Security的實例詳解

    Spring Security是一款強大的安全框架,可以幫助用戶保護Web應(yīng)用程序和REST API的安全性,這篇文章主要介紹了Java 中如何使用Spring Security,需要的朋友可以參考下
    2023-06-06

最新評論