1 public class RandomNumber {
2 /**
3 * 在给定范围内产生指定个数不重复的随机数
4 * @param min 给定范围内最小值
5 * @param max 给定范围内最大值
6 * @param number 产生随机数的个数
7 * @return
8 */
9 public static int[] createRandomNumber(int min, int max, int number){
10 if(number > max - min + 1 || number < 1 || max < min){
11 return null;
12 }
13 int[] arr = new int[number];
14 Random r = new Random();
15 int count = 0;
16 while(count < number) {
17 int randomNumber = r.nextInt(max - min + 1) + min;
18 boolean flag = true;//这句话十分的重要,不能写在while外面,否则就是死循环了。
19 for (int j = 0; j < number; j++) {
20 if(arr[j] == randomNumber){
21 flag = false;
22 break;
23 }
24 }
25 if(flag){
26 arr[count] = randomNumber;
27 count++;
28 }
29 }
30
31 return arr;
32 }
33
34 public static void main(String[] args) {
35 int[] arr = createRandomNumber(4, 10, 7);
36 for (int i = 0; i < arr.length; i++) {
37 System.out.println(arr[i]);
38 }
39 }
40