那是一次难忘的活动,活动的主题是PPT PK。班上每个人把精心制作的PPT交给老师后,老师说了一句:“谁愿意先来?”台下没人响应......然后只见老师在自己笔记本上打开VS2005,顺手敲了些代码,然后从学生黑名单中文件中读取到所有人的姓名,测试一把,通过,老师面带微笑:“那我采取公平的随机原则抽到谁,谁就上来演示自己的PPT”台下的我们只能微笑加随时迎战的准备,而我在脑袋里想到刚才老师敲的那个小程序,是如何实现的呢?
如今闲着没事,回忆当时,现在是手痒痒了,<!--StartFragment --> 呵呵
import java.util.*;
public class Test
{
public static void main(String[] args){
//数组的值写死了,老师则是通过IO从一个文件中将名字读取到这里来
String[] name = new String[]{"陆老大","那个什么二","张三","李四","王五","赵六","那个什么七"};
Random rand = new Random();
//标记数组,作用是标记name数组中那些元素已经打印了
int[] index= new int[]{-1,-1,-1,-1,-1,-1,-1};
int count = 0;
for (int i = 0;true;i++) {
int randNum = rand.nextInt(index.length);
boolean flag = true;
for (int j = 0; j < index.length; j++) {
if(randNum==index[j]){
flag = false;
}
}
if(flag){
index[count]=randNum;
System.out.println(name[randNum]);
if(count==(index.length-1))break;
count++;
}
}
}
}