A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhaoyaosen 初级黑马   /  2016-4-18 23:11  /  644 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


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

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

        public static void main(String[] args) {

                // 需要获取元素的数组,存储所有同学名字
                String[] names = { "张三", "李四", "王五", "赵六", "周七" };

//                System.out.println(names.length);

                // 创建HashSet集合,因为Set集合元素唯一
                HashSet<String> hs = new HashSet<String>();

                // 要随机点名的人数
                int num = 1;

                // 集合中存储的长度小于定义的长度,就获取
                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];
        }

}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马