从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]);

        }

        

    }



}

 

 

你可能感兴趣的:(问题)