从40个学生中随机选中3个不重复的学号来上课回答问题

具体思路:

将40个学生的学号输入string数组,然后调用random函数
关键:创建boolean数组,bool[40],每当random选到一个随机数时,把对应的boolean数组设为true,用do...while循环,里面随机生成随机数,验证boolean是否为true,若无true则一直循环,直到为false跳出循环,这样就不会生成重复的随机数了

用的是eclipse软件编程java语言

package com.minirisof;
import java.util.*;
public class Random {
    public static void main(String args[])
    {
        boolean bool[]=new boolean[40];
        int i,m=0;
        String str[]=new String[40];
        str[0]="20112911";
        str[1]="20122561";
        str[2]="20122755";
        str[3]="20122770";
        str[4]="20122772";
        str[5]="20122789";
        str[6]="20122795";
        str[7]="20122800";
        str[8]="20122801";
        str[9]="20122802";
        str[10]="20122803";
        str[11]="20122813";
        str[12]="20122818";
        str[13]="20122819";
        str[14]="20122820";
        str[15]="20122826";
        str[16]="20122829";
        str[17]="20122837";
        str[18]="20122839";
        str[19]="20122847";
        str[20]="20122850";
        str[21]="20122865";
        str[22]="20122878";
        str[23]="20122894";
        str[24]="20122898";
        str[25]="20122899";
        str[26]="20122900";
        str[27]="20122908";
        str[28]="20122909";
        str[29]="20122910";
        str[30]="20122923";
        str[31]="20122931";
        str[32]="20122933";
        str[33]="20122939";
        str[34]="20122941";
        str[35]="20122944";
        str[36]="20122947";
        str[37]="20122949";
        str[38]="20122955";
        str[39]="20122961";
        for(i=0;i<3;i++)
        {
            do
            {
                m=(int)(40*Math.random());
                
            }while(bool[m]);
            bool[m]=true;
            System.out.println(str[m]);
        }
        
    }

}
原文地址:https://www.cnblogs.com/guozw/p/3596982.html