JAVA/ 将任意数组内的值乱序(生成随机数)的一种方法
来源:互联网 发布:手机淘宝秒杀软件下载 编辑:程序博客网 时间:2024/06/01 22:05
之前做了一个任务就是设计一个随机分配的功能,比如说,给包含16个人姓名的名单,将其随机分配成8个组,每组2个人。
代码如下:
package com.hehe;public class ArrTest { public static void main(String[] args) { String arr[]={"小A","小B","小C","小D","小E","小F","小G","小H","小I","小J","小K","小L","小M","小N","小O","小P"}; String str; int num=8;//分成8个组 int count=0; for(int i=0;i<arr.length;i++){ int e=(int) Math.round((arr.length-1)*Math.random()); str=arr[e]; arr[e]=arr[arr.length-1]; arr[arr.length-1]=str; } for (int i = 0; i < arr.length; i++) { count++; System.out.print(arr[i]+" "); if(count%(arr.length/num)==0){ System.out.println(""); } } }}
输出结果为:
小A 小D 小C 小G 小E 小J 小I 小H 小B 小P 小K 小L 小M 小N 小O 小F
思路为,在字符串数组长度范围内生成一个随机数,将在该位置的值与数组最后一位交换,循环n次,原字符串数组的顺序就被打乱了,变成了随机的。
同理,如需生成随机数。例如生成100以内的随机数:
public class RandNumTest {public static void main(String[] args) { int sum=100; int arr[]=new int[sum]; int numb; int num=10;//分成num个组 int count=0; for(int i=0;i<sum;i++){ arr[i]=i+1; } for(int i=0;i<sum;i++){ int e=(int) Math.round((arr.length-1)*Math.random()); numb=arr[e]; arr[e]=arr[arr.length-1]; arr[arr.length-1]=numb; } for (int i = 0; i < arr.length; i++) { count++; System.out.print(arr[i]+" "); if(count%(arr.length/num)==0){ System.out.println(""); } }}}
输出结果为:
57 2 3 4 93 97 42 83 33 39 47 11 17 14 35 16 63 59 19 40 21 22 99 24 25 26 27 84 48 70 31 32 30 34 9 36 53 38 6 94 41 58 43 44 100 46 5 64 49 50 51 52 7 54 55 56 91 12 76 29 8 28 60 75 80 66 77 68 69 86 71 67 73 23 15 13 37 78 79 74 81 10 1 20 85 82 87 88 89 61 95 18 45 92 90 96 72 98 65 62
0 0
- JAVA/ 将任意数组内的值乱序(生成随机数)的一种方法
- java生成任意位数的随机数(转)
- 生成真随机数的一种方法
- 计算机生成随机数的一种方法
- 生成任意位数的随机数
- 生成任意位数的随机数
- 生成任意区间的随机数
- 生成任意长度的随机数
- Java 将字符串动态生成字节码的一种方法
- Java 将字符串动态生成字节码的一种方法
- C++中生成任意范围内随机数的方法
- C++中生成任意范围内随机数的方法
- Java 生成任意位数永不重复的随机数策略实现
- Java 生成任意位数永不重复的随机数策略实现
- 生成任意位随机数的函数
- Raptor中生成任意范围的随机数
- [算法][随机数]一种生成2个不相同的随机数的方法
- 在java中生成随机数的方法
- JMS学习八(ActiveMQ支持的传输协议)
- 2015年7月-MFC 网络资源下载系统
- Unity 声音播放管理模块
- easyui-tabs(选项卡)重新打开,数据没有变化!
- C++实验2—简单程序设计
- JAVA/ 将任意数组内的值乱序(生成随机数)的一种方法
- 软件测试概念(一)
- Security problem, see Jack server log
- Java中的多线程
- Linux出现中文乱码
- P1726 上白泽慧音
- c变量初始值
- 频率-分频和倍频
- Memcached之——整合Spring完整示例