Java抽奖问题(避免重复)
某单位现有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抽奖问题(避免重复)相关推荐
- java正则截取xml节点_实例讲述Java使用正则表达式截取重复出现的XML字符串功能...
Java使用正则表达式截取重复出现的XML字符串功能示例 本文实例讲述了Java使用正则表达式截取重复出现的XML字符串功能.分享给大家供大家参考,具体如下: public static void m ...
- java hashmap 去重复_为什么我在Java HashMap中得到重复的键?
本问题已经有最佳答案,请猛点这里访问. 我似乎在标准Java HashMap中得到重复的键."重复"是指键的equals()方法相等.这是有问题的代码: import java.u ...
- java如何避免注释重复_Java 8中的可重复注释
java如何避免注释重复 使用Java 8,您可以对声明或类型重复相同的注释. 例如,要注册一个类仅应由特定角色在运行时访问,则可以编写如下内容: @Role("admin") @ ...
- LeetCode题库整理【Java】—— 3 无重复字符的最长子串
LeetCode题库整理[Java] ## 3 无重复字符的最长子串 题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" ...
- java找重复字符串_在java中怎样查找重复字符串
在一段java编程代码中,字符串是不可缺少的一个要素,属于java中的基础知识,字符串不仅在java面试题中会出现,在编写代码时更要掌握怎样使用字符串.在前面我们也学习过关于字符串截取的知识,你应该有 ...
- java 抽奖_简单实现java抽奖系统
导读热词 本文为大家分享了java抽奖系统的具体代码,供大家参考,具体内容如下 用户信息类 /* * 用户信息类 * 1.账号 * 2.密码 * 3.卡号 * 4.是否登录 */ public cla ...
- Java抽号系统_简单实现java抽奖系统
简单实现java抽奖系统 发布于 2020-3-11| 复制链接 摘记: 本文为大家分享了java抽奖系统的具体代码,供大家参考,具体内容如下用户信息类 ```java /* * 用户信息类 * 1. ...
- java 多线程 数据重复,java 多线程 出现数据重复调用有关问题
java 多线程 出现数据重复调用问题 线程操作过程描述: 1.线程查询数据库表(table1)数据,并遍历修改记录状态(防止出现数据重复调用).(此操作加入了同步锁) 2.调用接口,获取返回的状态. ...
- Java 抽奖系统扩展
Java 抽奖系统 /** 测试类*/ public class CJTest {public static void main(String[] args) {CJStart cjStart = n ...
- java 接口方法名重复_Java接口/实现命名约定[重复]
本文翻译自:Java Interfaces/Implementation naming convention [duplicate] This question already has an answ ...
最新文章
- Android驱动中的Kconfig文件与Makefile文件
- Java中的enum枚举类
- FFmpeg在Intel GPU上的硬件加速与优化
- ios device provisioning
- apache-apollo启动报错
- 设计模式学习笔记——命令模式
- IOS开发(63)之GCD执行延迟操作
- 'datetime.datetime' has no attribute 'datetime'问题
- SCTP客户/服务器程序
- javascript脚本_应用JavaScript:用户脚本
- 泰勒公式(泰勒展开式,泰勒中值定理)使用基本技巧
- 如何简单快速去掉电脑桌面图标上的小箭头
- Github 搜索技巧,快速找到好资源
- 数据库服务器的安装与配置
- 《Loy解说SpringCloud之Zuul》
- php mds函数,MDSRank类解析 - linux_hunter的个人页面 - OSCHINA - 中文开源技术交流社区...
- C# 创建XML文件
- PTA 6-6 使用函数计算两个复数之积
- 学籍管理软件是计算机的什么应用,学籍管理中计算机信息管理的应用
- 记录一次油猴脚本开发的Demo(入门级)、开发过程