还没有学到集合,考虑到拿出的三个数不重复的情况,随手做的,应该能达到要求,但就是感觉不简洁。
思路:每拿到已知数组里的一个随机数,就将其他数放到一个新生成的长度为arr.length-1数组中,三次提取分别在三个不同的数组中,得到结果。
Random ran = new Random();
int[] arr = {12, 3, 21, 45, 28, 16, 7, 36, 90, 11};
int[] arr1 = new int[arr.length-1];
int[] arr2 = new int[arr1.length-1];
int a = ran.nextInt(arr.length);
for(int i=0,j=0;i<arr1.length;i++){
if(i==a)
continue;
arr1[j] = arr[i];
j++;
}
int b = ran.nextInt(arr1.length);
for(int i=0,j=0;i<arr2.length;i++){
if(i==a)
continue;
arr2[j] = arr1[i];
j++;
}
int c = ran.nextInt(arr2.length);
System.out.println(arr[a]+","+arr1[b]+","+arr2[c]); |