java每日一题——抽红包(答案及编程思路)

前言:

打好基础,daydayup!

 题目要求:假设某主播时发起了抢红包活动,五个红包金额分别为9,666,188,520,99999。粉丝按照先来先得,随机抽取,抽完为止,每一个红包只能被抽一次,先抽后抽哪个红包都是随机的(请问该如何实现)

编程思路有两个方法1:把五个数字放入数组,其内部打乱顺序,然后按照先来后到的顺序取走即可;方法2:把五个数字放入数组,粉丝抽选时随机生成一个数组内数字,该数字被选中后生成数字0补位(防止数字再次被随机抽到)。并设计随机生成数字程序抽选到0时,重新抽选。直到五个数字全部抽完,提示抽奖结束。

方法1

public class hongbaodemo1 {public static void main(String[] args) {int [] hongbao ={520,188,9,666,99999};la(hongbao);}public static void la(int [] hongbao){Random r = new Random();for (int i = 0; i < hongbao.length; i++) {int temp =r.nextInt(hongbao.length);int num  = hongbao [temp] ;hongbao[temp]=hongbao [i];hongbao [i]= num;}Scanner sc = new Scanner(System.in);for (int i = 0; i < hongbao.length; i++) {System.out.println("请输入任意符号抽奖:");sc.nextInt();System.out.println("中奖金额为:" + hongbao[i]);}System.out.println("抽奖结束");}}

方法2: 

public class hongbaodemo {public static void main(String[] args) {int [] hongbao ={9,666,188,520,99999};la(hongbao);}public static void la(int [] hongbao){Random r = new Random();//设计随机程序Scanner sc = new Scanner(System.in);//设计输入程序for (int i = 0; i < hongbao.length; i++) {System.out.println("请输入任意数字抽奖:");sc.nextInt();while (true) {int temp = r.nextInt(hongbao.length);//数组内随机生成一个数据int money= hongbao[temp];if (money != 0){System.out.println("中奖金额为:"+ money);hongbao [temp] = 0;//抽取后赋值为0break;}}}System.out.println("抽奖结束");}}

总结: 方法2符合大众逻辑,但是消耗比较大,如果池内有4个0数据,1个有用数据时,很有可能出现一直抽不到有用数据的情况。方法1比较简单,但需要思维走偏锋。

撒花!!! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/600103.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python如何循环读取excel一列中两个单元格之间的数据并写入文本文件?

python如何循环读取excel一列中两个单元格之间的数据并写入文本文件&#xff1f; ━━━━━━━━━━━━━━━━━━━━━━ python如何循环读取excel一列中两个单元格之间的数据&#xff0c;如B2到B22&#xff0c;并写入文本文件&#xff1f; 你可以使用 Python 中的 op…

功能强大且直观的日程和任务管理工具—Things 3 for Mac

在现代生活中&#xff0c;我们面对着繁忙的日程安排和众多的任务&#xff0c;我们需要一款高效的工具来帮助我们管理和组织这些事务。而事务管理的首选工具&#xff0c;非 Things 3 for Mac 莫属。 Things 3 for Mac 是一款功能强大且直观的日程和任务管理工具。它的设计简洁&…

Vue3——element-plus表格组件怎样得到当前行的id

实现方法&#xff1a; <el-table-column property"address" label"操作" show-overflow-tooltip header-align"center" v-slot"scope"><el-button type"success" click"editBtn(scope.row.id)">编辑…

01-线程池项目背景:C++的数据库操作

从0开始学习C与数据库的联动 1.原始方式-使用MySQL Connector/C 提供的API查询 1.1 数据库预操作 我的本地电脑上有mysql数据库&#xff0c;里面预先创建了一个database名叫chat&#xff0c;用户名root&#xff0c;密码password。 1.2 Visual Studio预操作 在Windows上使用…

【unity】Obi插件架构组成(参数详细解释)——解算器四面板设置、三种更新器、参与者介绍

文章目录 一、架构&#xff08;Architecture&#xff09;1.1 Obi解算器&#xff08;ObiSolver&#xff09;1.2 ObiUpdater1.3 ObiActorBlueprint1.4 Obi参与者&#xff08;ObiActor&#xff0c;如ObiRope等&#xff09; 二、Obi解算器&#xff08;ObiSolver&#xff09;2.1 解算…

win11家庭版开启远程桌面功能

win11家庭版不支持远程桌面 下载补丁 https://download.csdn.net/download/yonggeit/88706714 用谷歌浏览器会提示危险文件&#xff0c;选择“保留危险文件”即可&#xff0c;如果大家不放心&#xff0c;可用杀软进行查杀。 解压后 选择“install.bat”右键选择“以管理员身份…

【C语言刷题每日一题#牛客网BC107】矩阵转置

目录 问题描述 思路逐步分析 完整代码实现 结果测试 问题描述 思路逐步分析 首先&#xff0c;根据输入的描述&#xff0c;第一行输入的是两个整数n和m&#xff0c;分别表示一个矩阵&#xff08;二维数组&#xff09;的行和列&#xff0c;并且行和列不超过10 根据要求&…

鸡目标检测数据集VOC格式500张

鸡&#xff0c;一种家禽&#xff0c;是人类的重要食物来源之一&#xff0c;也是农业生产中的重要组成部分。 鸡的外观相对较为简单&#xff0c;身体呈圆锥形&#xff0c;羽毛密集&#xff0c;双翅短小&#xff0c;无法飞行。鸡的头部较小&#xff0c;嘴巴尖锐&#xff0c;方便…

电商要怎么学?企业如何进行数字化转型打破市场僵局?

电商要怎么学&#xff1f;企业如何进行数字化转型打破市场僵局&#xff1f; 电商的学习需要从多个方面入手&#xff0c;首先需要了解电商的基本概念和原理&#xff0c;包括电商平台的运营模式、商品推广、客户服务等。此外&#xff0c;还需要掌握电商平台的操作技能&#xff0c…

Pygame中监控键盘按键的方法

1 事件与队列 在Pygame中&#xff0c;将用户对游戏的操作叫做“事件”。键盘按键是一种事件&#xff0c;鼠标点击和游戏手柄的输入也是一种事件。在Pygame的子模块locals中&#xff0c;对这些事件进行了定义。当用户通过键盘、鼠标或者游戏手柄对游戏进行操作后&#xff0c;产…

SpringBoot项目部署(Docker)——通过Dockerfile将打包好的jar包创建成镜像 在IDEA中配置docker,一键启动容器 用swagger进行测试

目录 引出SpringBoot项目部署&#xff08;jar包&#xff09;Dockefile初识idea配置docker在Linux中配置docker remote api配置idea docker插件 部署项目Springboot整合Dockerfile准备项目创建Dockerfile文件进行测试 总结 引出 1.Dockerfile命令初识&#xff0c;CMD…; 2.idea配…

Fiddler抓取HTTPS最全(强)攻略

对于想抓取HTTPS的测试初学者来说&#xff0c;常用的工具就是fiddler。可是在初学时&#xff0c;大家对于fiddler如何抓取HTTPS真是伤了脑筋&#xff0c;可能你一步步按着网上的帖子成功了&#xff0c;那当然是极好的。 有可能没有成功&#xff0c;这时候你就很抓狂了&#xff…

Unity3D Shader 之透视效果XRay

1、 Shader "Unlit/XRay" {Properties{_MainTex("Texture", 2D) "white" {}// 漫反射_Diffuse("Diffuse", COLOR) (1,1,1,1)// XRay 效果_XRayColor("XRay Color", COLOR) (0,1,1,1)_XRayPower("XRay Power",…

RxJS 操作符-学习笔记

提前准备&#xff1a; pipe 方法: 用于组合多个操作符,可以将一系列操作符作为参数传递给 pipe 方法&#xff0c;这些操作符将 依次 对数据流进行处理。这里的依次很关键&#xff0c;也代表着pipe()中组合的这么几个操作符的执行顺序就是从开始一直到结束的&#xff0c;其中的…

Mysql 将表里的两列值数据互换

示例&#xff1a; 需要将表中的 两个订单号互换 方案&#xff1a; 将同一张表数据做 临时数据 和主表 做数据交互 。 update 表 as main, 表 as temp set main.bill_no temp.track_bill_no, main.track_bill_no temp.bill_no where main.id temp.id…

小白的2023总结与未来的妄想

嘿&#xff0c;各位&#xff0c;很高兴各位能看到这篇文章&#xff0c;先祝各位家人2024财源茂盛达三江&#xff0c;生意兴隆通四海&#xff01;&#xff01;&#xff01;&#xff01; 那么作为一个还在读大三的入门小白&#xff0c;这一年得益于身边的各个校外大佬与校内老师的…

【Oracle数据库】两个服务端通过一个端口分别读写两个数据库账户下的表

允许两个服务端文件通过一个端口分别读写两个数据库账户下的表格数据&#xff0c;并且这两个用户名下的表格数据在一个表空间&#xff01; Q&#xff1a;一个Oracle表空间中两个用户下面的表&#xff0c;我用服务端写入和读取这两个用户下面的表格时&#xff0c;可以用一样的端…

test coverate-04-测试覆盖率 Cobertura Cobertura/emma/jacoco 的差异对比?

拓展阅读 test 系统学习-04-test converate 测试覆盖率 jacoco 原理介绍 test 系统学习-05-test jacoco 测试覆盖率与 idea 插件 test 系统学习-06-test jacoco 关于 Cobertura Cobertura是一个免费的Java代码覆盖率报告工具&#xff0c;基于jcoverage 1.0.5。详细信息请参…

新手小白如何搭建自己的服务器

由于近期六年前的域名到期了&#xff0c;阿里云的客服电话&#xff0c;正好提醒了我需要管理下这方面的东西&#xff0c; 正好看到阿里云的服务器99/年&#xff0c;而且可以原价续费两年&#xff0c;截止日期为2026年3月&#xff0c;所以我还是剁手了。 借着这次机会写一部分建…

lv 14 字符设备读写操作实现 5

一、读操作实现 ssize_t xxx_read(struct file *filp, char __user *pbuf, size_t count, loff_t *ppos); 完成功能&#xff1a;读取设备产生的数据 参数&#xff1a;filp&#xff1a;指向open产生的struct file类型的对象&#xff0c;表示本次read对应的那次openpbuf&#xf…