某单位现有100名员工,他们的工号从0001-0100。假若在年末晚会上要组织抽奖活动:根据工号随机抽出20名幸运奖、10名三等奖、7名二等奖、2名一等奖、1名特等奖,抽奖规则是:先抽级别低的奖项,后抽级别高的奖项,依次进行;已获得奖项的不再参加后续奖项的抽取。现请使用Math类随机方法编程模拟抽奖过程,分5次输出不同级别的获奖工号。

import java.lang.Math;
public class math6{public static void main(String[] args){int []choose=new int[1000];//建立整型的数组(储存1-100)String []res=new String[1000];//建立字符串数组(储存格式0001-0100)int a,c=40,j=0;//a为随机数,c为中奖总人数,j为整形数组初始化的下标for (var i=0;i<c;i++){int b=0;//b作为条件(后面用到)a=(int)Math.ceil(Math.random()*99+1);//随机数a(0-100)if(i==0){//判断条件,默认第一个随机数放在整形数组的第一个储存单位choose[j]=a;j++;}else{for (var k=0;k<j;k++){//循环if(choose[k]==a){//判断如果随机数在已存储的数组中出现则判断条件b=1b=1;break;}}if (b==0){//不触发条件则接着往整形数组中存choose[j]=a;j++;//别忘了下标要进一}else//触发条件则不存,并且随机数的循环数要+1c++;}}for (var i=0;i<j;i++){//做判断将整型数组中抽中的格式化放入字符串数组if (choose[i]<10)res[i]="000"+choose[i];else if (choose[i]<100&&choose[i]>=10)res[i]="00"+choose[i];else if (choose[i]==100)res[i]="0"+choose[i];}//接下来就是根据抽奖出来的顺序输出,先出的为低级奖System.out.println("获得幸运奖的20人有:");for (var i=0;i<20;i++)System.out.print(res[i]+" ");System.out.println("\n获得三等奖的10人有:");for (var i=20;i<30;i++)System.out.print(res[i]+" ");System.out.println("\n获得二等奖的7人有:");for (var i=30;i<37;i++)System.out.print(res[i]+" ");System.out.println("\n获得一等奖的2人有:");for (var i=37;i<39;i++)System.out.print(res[i]+" ");System.out.println("\n获得特等奖的是:\n"+res[j-1]);}
}

Java萌新,实验报告题,若代码有误还请指教

Java抽奖问题(避免重复)相关推荐

  1. java正则截取xml节点_实例讲述Java使用正则表达式截取重复出现的XML字符串功能...

    Java使用正则表达式截取重复出现的XML字符串功能示例 本文实例讲述了Java使用正则表达式截取重复出现的XML字符串功能.分享给大家供大家参考,具体如下: public static void m ...

  2. java hashmap 去重复_为什么我在Java HashMap中得到重复的键?

    本问题已经有最佳答案,请猛点这里访问. 我似乎在标准Java HashMap中得到重复的键."重复"是指键的equals()方法相等.这是有问题的代码: import java.u ...

  3. java如何避免注释重复_Java 8中的可重复注释

    java如何避免注释重复 使用Java 8,您可以对声明或类型重复相同的注释. 例如,要注册一个类仅应由特定角色在运行时访问,则可以编写如下内容: @Role("admin") @ ...

  4. LeetCode题库整理【Java】—— 3 无重复字符的最长子串

    LeetCode题库整理[Java] ## 3 无重复字符的最长子串 题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" ...

  5. java找重复字符串_在java中怎样查找重复字符串

    在一段java编程代码中,字符串是不可缺少的一个要素,属于java中的基础知识,字符串不仅在java面试题中会出现,在编写代码时更要掌握怎样使用字符串.在前面我们也学习过关于字符串截取的知识,你应该有 ...

  6. java 抽奖_简单实现java抽奖系统

    导读热词 本文为大家分享了java抽奖系统的具体代码,供大家参考,具体内容如下 用户信息类 /* * 用户信息类 * 1.账号 * 2.密码 * 3.卡号 * 4.是否登录 */ public cla ...

  7. Java抽号系统_简单实现java抽奖系统

    简单实现java抽奖系统 发布于 2020-3-11| 复制链接 摘记: 本文为大家分享了java抽奖系统的具体代码,供大家参考,具体内容如下用户信息类 ```java /* * 用户信息类 * 1. ...

  8. java 多线程 数据重复,java 多线程 出现数据重复调用有关问题

    java 多线程 出现数据重复调用问题 线程操作过程描述: 1.线程查询数据库表(table1)数据,并遍历修改记录状态(防止出现数据重复调用).(此操作加入了同步锁) 2.调用接口,获取返回的状态. ...

  9. Java 抽奖系统扩展

    Java 抽奖系统 /** 测试类*/ public class CJTest {public static void main(String[] args) {CJStart cjStart = n ...

  10. java 接口方法名重复_Java接口/实现命名约定[重复]

    本文翻译自:Java Interfaces/Implementation naming convention [duplicate] This question already has an answ ...

最新文章

  1. LeetCode-数组-704. 二分查找
  2. php输出json到表格,PHP中把数据库查询结果输出为json格式
  3. c语言建立顺序表 存储并输出,请教数据结构课程中怎么建立顺序表,显示,输出,从头到尾详细点最好加讲解,希望大家能帮这个小忙...
  4. 【AI自学】 完备的 AI 学习路线,最详细的资源整理!
  5. 端口被占用的解决方案
  6. VS项目属性的一些配置项的总结(important)
  7. php+access源码,php操作access源码
  8. Chrome 谷歌浏览器账户无法登录、注册
  9. ubuntu18.04安装微信
  10. DB2 JDBC Driver 必需的字符转换器不可用
  11. jsonrpc php使用,php-JsonRPC
  12. 告别内卷,扬帆出海,小鹏汽车们找到破局最优解?
  13. 看到这些网络骗局信息,请千万留个心眼
  14. 使用腾讯 CDN,结果网站现在出现您的连接不是私密连接”“,”隐私设置错误”如何解决?
  15. 吸粉神器——维盟智慧wifi,微信粉丝生产基地!
  16. 计算机怎么重装win7,手把手教你电脑怎么重装系统
  17. RoI Pooling 和 RoI Align
  18. 高并发点赞系统 梳理
  19. Nginx最新教程通俗易懂
  20. sqlplus 为什么会自动断开_为什么设置的手机铃声会自动变为手机默认的,原因在这里...

热门文章

  1. 驼峰设计 宣传PPT代写
  2. 数字手势识别App--(3)图像识别
  3. 3D打印机固件 Marlin 1.1.0 配置文件 说明
  4. 事实表的分类:事务事实表,周期快照事实表,累计快照事实表
  5. 移动互联网应用技术架构简介-Restful服务
  6. oracle中00604,【案例】Oracle无法启动报错ORA-00604 ORA-01578官方解决办法
  7. delphi 对金额double类型向上取整,保留小数位
  8. php点击图片更新验证码,thinkphp点击图片刷新验证码
  9. 使用Jquery完成动态表格的功能
  10. Spotify 模型