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];
}
}
|
|