展开全部
下面的示范, 写了两种情况32313133353236313431303231363533e4b893e5b19e31333337623535
第一种情况, 8选3 不重复
第二种情况,8选3可以重复import java.util.Arrays;
public class DemoTest {
public static void main(String[] args) {
int[] ary = new int[8];//ary用于保存8个数字
for (int i = 0; i
ary[i] = i + 1;//赋值
}
boolean[] flag = new boolean[ary.length];//flag数组.用于标记ary里对应的元素是否已经被选中
int[] result = new int[3];//结果数组
int index = 0;//结果数组 result的索引
//情况一:不重复的8选3
while(index<3){
int n = (int) (Math.random() * 8);//产生0~7的随即索引下标
if (flag[n] == false) {//如果没有选中,那么就存入结果数组
result[index] = ary[n];
flag[n] = true;//存完后,设置为已经选中了
index++;//索引增加
}
}
System.out.println("不重复的8选3\t"+Arrays.toString(result));
//情况二: 8选3 可能有重复的元素
for (int i = 0; i
int n = (int) (Math.random() * 8);
result[i] = ary[n];
}
System.out.println("可能重复的8选3\t"+Arrays.toString(result));
}
}
输出不重复的8选3[1, 6, 2]
可能重复的8选3[5, 5, 2]