`
PanShuiHua
  • 浏览: 30325 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
最近访客 更多访客>>
社区版块
存档分类
最新评论

随机产生指定范围内的数据并且不允许出现重复

阅读更多

那是一次难忘的活动,活动的主题是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++;
   }
  }
 }
}

分享到:
评论

相关推荐

    《Excel应用大全》示例文件 光盘文件

    • 数据有效性的高级应用_多表不重复输入 • 分级显示 • 合并计算 第6篇 使用Excel进行协同 • Excel单元格引用建立链接统计奖金总额 • 超链接实例 • 创建Excel动态超链接 • 发布(不)具有交互性的网页_Excel...

    EXCEL集成工具箱V6.0

    【工作表拆分】 将当前工作表的某列数据按指定条件拆分成多个工作表,可以用任意列的数据以及选定的数据做为拆分条件。 【行列奇偶选择】 可视化对当前工作表的行与列进行快速的奇偶行或奇偶列快速选定操作。 ...

    EXCEL集成工具箱V8.0完整增强版(精简)

    【工作表拆分】 将当前工作表的某列数据按指定条件拆分成多个工作表,可以用任意列的数据以及选定的数据做为拆分条件。 【行列奇偶选择】 可视化对当前工作表的行与列进行快速的奇偶行或奇偶列快速选定操作。 ...

    TCP拦截和网络地址转换

    1) 每一个新的连接导致一个最早的(或随机的)连接被删除。 2) 初始的重传超时时间被减少一半,直到 0 . 5秒。 3) 如果处于监视模式,则超时时间减半,直到 1 5秒。 有两个因素用来判断路由器是否正在遭受攻击。...

    mysql数据库my.cnf配置文件

    # 注:这两个参数不支持动态改变,需要把该参数加入到my.cnf里,修改完后重启MySQL服务,允许值的范围从 1-64 innodb_thread_concurrency = 0 # 默认设置为 0,表示不限制并发数,这里推荐设置为0,更好去发挥CPU多核...

    Delphi开发范例宝典目录

    实例228 不出现在任务栏上的程序 291 实例229 在程序中使用多线程 293 实例230 怎样调用外部的EXE文件 295 实例231 关闭外部已开启的程序 296 6.9 程序运行 297 实例232 监测是否运行多个程序 297 实例...

    数据结构(C++)有关练习题

    4、 请用C++结合链表编写一个简单的机票订票程序,要求完成以下功能: a. 允许出现多个班机; b. 创建一个班机链表,每个节点都包含指向一个乘客链表的指针; c. 该程序要有顾客购票,查询班机起飞降落...

    一卡通软件

    错误设置2 假设早餐在系统内设置时间为07:00-09:00,但实际食堂07:00前开餐,此时采集数据后,在营业收入统计表内07:00前的消费不纳入早餐统计范围。 5.3补贴设置 09版消费系统支持补贴发放功能。补贴发放功能可使用...

    精易模块[源码] V5.15

    8、修正“时间_时间戳转文本”代码不严谨出现数组错误的BUG,感谢易友[455275321]反馈。 MD5:3E66BFA15806DEAFBCF11806EB99CC11 精易模块 V5.13 what’s new:(20150202) 1、修正“编码_ansi到usc2”当末尾出现10...

    C#全能速查宝典

    1.5.16 Next方法——返回一个指定范围内的随机数 113 1.5.17 Queue类——队列 115 1.5.18 Remove方法——移除指定项 116 1.5.19 RemoveAt方法——移除指定索引处的项 118 1.5.20 Replace方法——替换文件或字符串 ...

    超级有影响力霸气的Java面试题大全文档

    与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。...

    java 面试题 总结

    与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。...

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    重复出现的词 99 实例085 使用正则表达式替换字符串 101 实例086 使用正则表达式拆分字符串 102 实例087 使用正则表达式验证输入字母 102 实例088 使用正则表达式验证中文汉字输入 103 实例089 使用正则表达式验证...

    易语言程序免安装版下载

    数据库操作支持库增加读写长整数字段的功能,但受限于系统接口暂不能读写超出整数范围的数值。 7. 修改高级表格支持库,通过鼠标调整行高列宽时不改变当前光标行列号。 8. 修改BUG:在IDE中打开源代码文件(.e)后...

    C#.net_经典编程例子400个

    311 7.9 程序控制 312 实例222 打开控制面板中的程序 313 实例223 添加程序托盘 314 实例224 不出现在任务栏上的程序 314 实例225 怎样调用外部的Exe文件 315 实例226 关闭外部已开启...

    C#程序开发范例宝典(第2版).part13

    一部久享盛誉的程序开发宝典。...实例264 不出现在任务栏上的程序 360 实例265 怎样调用外部的EXE文件 361 实例266 关闭外部已开启的程序 362 7.10 程序运行 363 实例267 防止程序多次运行 363 实例...

Global site tag (gtag.js) - Google Analytics