某单位现有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. Android驱动中的Kconfig文件与Makefile文件
  2. Java中的enum枚举类
  3. FFmpeg在Intel GPU上的硬件加速与优化
  4. ios device provisioning
  5. apache-apollo启动报错
  6. 设计模式学习笔记——命令模式
  7. IOS开发(63)之GCD执行延迟操作
  8. 'datetime.datetime' has no attribute 'datetime'问题
  9. SCTP客户/服务器程序
  10. javascript脚本_应用JavaScript:用户脚本
  11. 泰勒公式(泰勒展开式,泰勒中值定理)使用基本技巧
  12. 如何简单快速去掉电脑桌面图标上的小箭头
  13. Github 搜索技巧,快速找到好资源
  14. 数据库服务器的安装与配置
  15. 《Loy解说SpringCloud之Zuul》
  16. php mds函数,MDSRank类解析 - linux_hunter的个人页面 - OSCHINA - 中文开源技术交流社区...
  17. C# 创建XML文件
  18. PTA 6-6 使用函数计算两个复数之积
  19. 学籍管理软件是计算机的什么应用,学籍管理中计算机信息管理的应用
  20. 记录一次油猴脚本开发的Demo(入门级)、开发过程

热门文章

  1. R产生指定协方差阵的正态随机向量
  2. jquery tip提示框
  3. ShopWithMe安装RFID系统,建立新型智慧快闪店
  4. ev录屏嵌入摄像头花屏问题
  5. mysql服务攻击检测_3款SQL INJECTION攻击检测工具_MySQL
  6. 苹果开发者账号_邓白氏编码申请过程
  7. [STM8L]EEPROM操作读与写
  8. STM8L 软件I2C读写操作
  9. 微信小程序底层框架实现原理
  10. Python OpenCV 图像匹配(Brute-Force与FLANN)的原理与代码实现