java -生成不重复的随机数

方法一,

 * 本方法的思路是:
     * 1、创建一个5个元素的数组, 用来存放随机数
     * 2、逐个取随机数,并且第一个随机数直接放在a[0]
     * 3、第二个随机数开始,需要与数组中已经存在的元素进行逐个比较,直到取出不重复的随机数,否则一致重复取随机数

方法二:需要结合list集合进行处理,后续学习集合时在进行处理
package number;

import java.util.Random;

public class RandomTest01
{
    
    //在[0~100] ,取5个不重复的随机数
    
    /**
     * 本方法的思路是:
     * 1、创建一个5个元素的数组, 用来存放随机数
     * 2、逐个取随机数,并且第一个随机数直接放在a[0]
     * 3、第二个随机数开始,需要与数组中已经存在的元素进行逐个比较,直到取出不重复的随机数,否则一致重复取随机数
     * 
     * @param args
     */
    public static void main(String[] args) {
        
        Random r1 = new Random();
        int b = r1.nextInt(101);
        
        //创建一个包含5个元素的数组, 存放随机数
        int[] a = new int[5];
        
        //第一个随机数,不需要判断是否重复,直接放进数组
        a[0] = b; 

        //外层,用来放剩余的四个元素,下标从1开始
        for( int i =1; i<a.length; i++)
        {
            b = r1.nextInt(101); 
            
            //将取到的随机数,与已经存在的元素进行比较,从下标=0开始比较
             for(int num = 0; num<i ; num++)
            {
                 //如果和已经存在元素相同,需要重新取随机数,并且新取到的随机数要重新与a[0]开始比较,知道取到的随机数不重复
                while(b==a[num])
                {
                    b= r1.nextInt(101);
                    num =0;
                }
            }
            
            a[i]= b;
        }
        //遍历数组,进行展示
        showArray(a);

    }

    //遍历数组的方法
    public static void showArray(int[] a) {
        for(int i =0; i<a.length; i++) {
            System.out.println(a[i]);
        }
    }
}
原文地址:https://www.cnblogs.com/jesse-zhao/p/10764896.html