黑马程序员技术交流社区

标题: 班级随机点名小程序 [打印本页]

作者: mm2015    时间: 2015-12-28 07:22
标题: 班级随机点名小程序
package cn.itcast.util;

import java.util.HashSet;
import java.util.Random;

/**
* 随机点名程序
* @author SuperHan
*
*/
public class RandomCall {

        public static void main(String[] args) {
                // 需要获取元素的数组,存储所有同学名字
                String[] names = {"姓名"};
               
                // 创建HashSet集合,因为Set集合元素唯一
                HashSet<String> hs = new HashSet<String>();
               
                // 要随机点名的人数
                int num = 5;
               
                // 集合中存储的长度小于定义的长度,就获取
                while (hs.size() < num) {
                        // 抽取一个方法,实现随机获取数组中的一个元素
                        hs.add(getOneRandom(names));
                }
               
                // 遍历集合,得到中奖的人
                for (String s : hs) {
                        System.out.println(s);
                }

        }

        /**
         * 随机获取数组中一个元素
         * @param names 存储元素的数组
         * @return 该数组中的一个随机元素
         */
        public static String getOneRandom(String[] names) {
                // 随机数类
                Random r = new Random();
                // 通过随机获取[0, 数组长度)的一个随机索引
                int index = r.nextInt(names.length);
                // 根据这个随机索引,获取该索引上的元素 -- 查表法
                return names[index];
        }

}

作者: 魏志林    时间: 2015-12-28 07:49
如果随机数重复了怎么办




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2