在给定范围内产生指定个数不重复的随机数
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