• 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]);
            }
        }
    }
  • 相关阅读:
    Windows XP下安装和配置Apache2.2.22服务器+PHP5+Mysql5
    win7下80端口被(Pid=4)占用的解决方法
    netty入门实例
    java NIO经典实例
    Eclipse下快速打开本地文件插件EasyExplorer(转)
    Nexus配置
    Maven依赖(转)
    【原创】C#玩高频数字彩快3的一点体会
    【原创】.NET读写Excel工具Spire.Xls使用(2)Excel文件的控制
    【踩坑经历】一次Asp.NET小网站部署踩坑和解决经历
  • 原文地址:https://www.cnblogs.com/jesse-zhao/p/10764896.html
Copyright © 2020-2023  润新知