A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张浮生 中级黑马   /  2015-5-13 22:49  /  192 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

具体代码如下:
  1. importJava.util.Random;
  2. publicclassUtil{
  3. /**随机对象*/
  4. privatestaticRandomrd=null;

  5. /**
  6. *返回一个无重复的随机数组
  7. *@paramsrc来源数组,所有的数据都来自该数组
  8. *@return处理好的数组
  9. */
  10. publicstaticint[]random(int[]src){
  11. //如果源数组为空,则返回
  12. if(src==null){
  13. returnnull;
  14. }

  15. rd=newRandom();
  16. //创建返回数组
  17. int[]tmp=newint[src.length];
  18. //可供选择的数据个数
  19. intnum=src.length;

  20. //抽取到的数组的下标
  21. intindex;
  22. //随机抽取,如果某个数字被抽取,则置该数字为0,并放到数组的末尾
  23. for(inti=0;i<src.length;i ){
  24. //随机生成下标
  25. index=Math.abs(rd.nextInt())%num;
  26. //取该值
  27. tmp[i]=src[index];
  28. //交换数据
  29. src[index]=src[num-1];
  30. //可选择数量减少1
  31. num--;
  32. }
  33. //返回
  34. returntmp;
  35. }

  36. publicstaticvoidmain(String[]args){
  37. int[]test={1,2,3,4,5,6,7,8,9};
  38. inta[]=random(test);

  39. for(inti=0;i<a.length;i ){
  40. System.out.println(a[i]);
  41. }
  42. }

  43. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马