为了账号安全,请及时绑定邮箱和手机立即绑定

创建没有重复的随机数

创建没有重复的随机数

阿晨1998 2019-06-05 15:58:01
创建没有重复的随机数在这种情况下,最大值只有5,所以我可以一个地检查副本,但是我如何以更简单的方式完成这个任务呢?例如,如果最大值的值为20,怎么办?谢谢。int MAX = 5;for (i = 1 , i <= MAX; i++){         drawNum[1] = (int)(Math.random()*MAX)+1;         while (drawNum[2] == drawNum[1])         {              drawNum[2] = (int)(Math.random()*MAX)+1;         }         while ((drawNum[3] == drawNum[1]) || (drawNum[3] == drawNum[2]) )         {              drawNum[3] = (int)(Math.random()*MAX)+1;         }         while ((drawNum[4] == drawNum[1]) || (drawNum[4] == drawNum[2]) || (drawNum[4] == drawNum[3]) )         {              drawNum[4] = (int)(Math.random()*MAX)+1;         }         while ((drawNum[5] == drawNum[1]) ||                (drawNum[5] == drawNum[2]) ||                (drawNum[5] == drawNum[3]) ||                (drawNum[5] == drawNum[4]) )         {              drawNum[5] = (int)(Math.random()*MAX)+1;         }}
查看完整描述

3 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

//random numbers are 0,1,2,3 ArrayList<Integer> numbers = new ArrayList<Integer>();   
Random randomGenerator = new Random();while (numbers.size() < 4) {

    int random = randomGenerator .nextInt(4);
    if (!numbers.contains(random)) {
        numbers.add(random);
    }}


查看完整回答
反对 回复 2019-06-05
  • 3 回答
  • 0 关注
  • 547 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号