Java编程实现生成给定范围内不重复随机数的方法小结

  

本文实例总结了Java编程实现生成给定范围内不重复随机数的方法。分享给大家供大家参考,具体如下:

  

在Java中的数学类中存在一个随机的()方法,该方法默认生成0.0到1.0之间的双型随机数,经过稍微处理,就可以产生我们需要的随机数以及随机字符。

  

除了数学类中随机的()方法之外,java.util.Random类也可以用来生成随机数;下面分别举例(用不同的方法生成双色球号码)说明:

  

<强> 1。math . random()方法

  

生成随机数:

        包装测试;   进口java.util.SortedSet;   进口java.util.TreeSet;   公开课MathRandom {   静态SortedSet设置=new TreeSet ();   公共静态int randomSet(双m,双n) {   int num=(int) m + (int) (math . random () * (n - m));   返回num;   }   公共静态孔隙shuangSe (int, int num1 num2) {   for (int i=0;我& lt;num1;我+ +){   set.add (randomSet (1、33));   }   如果(set.size () & lt;num2) {   shuangSe (num2 - set.size (), num2);   }   }   公共静态void main (String [] args) {   shuangSe (6,6);   System.out.print(组);   system . out。println (" + randomSet (16));   }   }      之前      

运行结果(随机):

        (3、13、17、21、23、25)2      之前      

生成随机字符:

        包装测试;   公开课MathRandomChar {   公共静态字符getRandomChar (char c1, char c2) {   返回(char) (c1 + math . random() *(路径c1 + 1));   }   公共静态void main (String [] args) {   system . out。println (“a - z之间的任意字符:“+ getRandomChar (' a ', ' z '));   }   }      之前      

运行结果(随机):

        所有之间的任意字符:g   之前      

<强> 2。java.util.Random方法

  

方法一:循环加递归:

        包装测试;   进口java.util.Random;   进口java.util.SortedSet;   进口java.util.TreeSet;   公共类测试{   静态随机跑=new随机();   静态SortedSet设置=new TreeSet ();   公共静态孔隙randomSet (int, int) {   for (int i=0;我& lt;n;我+ +){   set.add (ran.nextInt (33) + 1);   }   如果(set.size () & lt;米){   randomSet (m - set.size (), m);   }   }   公共静态void main (String [] args) {   randomSet (6,6);   System.out.print(组);   system . out。println (" + (ran.nextInt (16) + 1));   }   }      之前      

运行结果(随机):

        [1、15、18、29、30、31日)13      

方法二:虽然循环

        包装测试;   进口java.util.Random;   进口java.util.Set;   进口java.util.TreeSet;   公开课ShuangSeQiu {   公共静态void main (String [] args) {   随机跑=new随机();   Set设置=new TreeSet<在();   而(真){   int=ran.nextInt (33) + 1;   set.add(一个);   如果(set.size()在5){   System.out.print(组);   打破;   }   }   system . out。println (" + (ran.nextInt (16) + 1));   }   }      之前      

运行结果(随机):

        [2、11、12、16日,23日,26]7      

  

http://tools.jb51.net/aideddesign/suijishu
  

  http://tools.jb51.net/aideddesign/rnd_password

  http://tools.jb51.net/password/CreateStrongPassword

  

更多关于java算法相关内容感兴趣的读者可查看本站专题:《java数据结构与算法教程》、《java字符与字符串操作技巧总结》,《java操作DOM节点技巧总结》,《java文件与目录操作技巧汇总》和《java缓存操作技巧汇总》

  

希望本文所述对大家java程序设计有所帮助。

Java编程实现生成给定范围内不重复随机数的方法小结