自动点名器

班级里有N个学生,实现随机点名器

package MyApi.a00test;import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;public class Test1 {public static void main(String[] args) {ArrayList<String> list=new ArrayList<>();Collections.addAll(list,"范闲","范建","范统","杜子腾","王俊凯");//随机点名//第一种/*   Random r=new Random();int index=r.nextInt(list.size());String name= list.get(index);System.out.println(name);*///第二种Collections.shuffle(list);String name=list.get(0);System.out.println(name);}
}

班级里面有N个学生

要求:70%的概率随机到男生,30%的概率随机到女生

package MyApi.a00test;import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;public class Test2 {public static void main(String[] args) {ArrayList<Integer> list=new ArrayList<>();Collections.addAll(list,1,1,1,1,1,1,1);Collections.addAll(list,0,0,0);Collections.shuffle(list);Random r=new Random();int index = r.nextInt(list.size());Integer number = list.get(index);System.out.println(number);ArrayList<String>  boylist=new ArrayList<>();ArrayList<String>  girllist=new ArrayList<>();Collections.addAll(boylist,"王俊凯","王源","易烊千玺","夏之光","黄俊捷","肖战","王一博");Collections.addAll(girllist,"杨幂","迪丽热巴","娜扎");if(number==1){int boyindex = r.nextInt(boylist.size());String boyname = boylist.get(boyindex);System.out.println(boyname);}else {int girlindex = r.nextInt(girllist.size());String girlname= boylist.get(girlindex);System.out.println(girlname);}}
}

要求:

被点到的学生不会在被点到,但是如果班级中所有的学生都点完了,需要重新开启第二轮点名

package MyApi.a00test;import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;public class Test3 {public static void main(String[] args) {ArrayList<String> list=new ArrayList<>();Collections.addAll(list,"王俊凯","王源","易烊千玺","夏之光","黄俊捷","肖战","王一博","杨幂","迪丽热巴","娜扎");//创建一个临时的集合,用来存储已经被点到名字的学生ArrayList<String> list2=new ArrayList<>();for (int i = 0; i < 10; i++) {int count= list.size();Random r=new Random();for (int j = 0; j < count; i++) {int index = r.nextInt(list.size());/* String name = list.get(index);list.remove(name);*/String name = list.remove(index);list2.add(name);System.out.println(name);}//此时表示一轮集合已经结束list.addAll(list2);list2.clear();}}
}

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

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

相关文章

<Linux> 线程控制

目录 一、线程资源的分配 &#xff08;一&#xff09;线程私有资源 &#xff08;二&#xff09;线程共享资源 二、原生线程库 三、线程控制接口 &#xff08;一&#xff09;线程创建 - pthread_create() 1. 一个线程 2. 一批线程 &#xff08;二&#xff09;线程等待 …

linux 新增定时任务

1、创建定时任务 crontab -e 2、加入定时任务规则 0 2 * * * /usr1/local/mysql-backup/backup.sh 说明&#xff1a;backup.sh是sh脚本 3、重启定时任务 service crond restart 扩展 1、查看定时任务列表 crontab -l 2、需要修改定时任务 crontab -e

BUUCTF---web---[护网杯 2018]easy_tornado1

1.点开题目链接 2.依次点开文件链接 3.通过第一个信息可知&#xff0c;flag在文件名为/fllllllllllllag这个里面&#xff0c;第二个信息中的render是渲染函数&#xff0c;第三个个信息中是一个md5加解密&#xff0c;因为filename我们已经知道&#xff0c;所以我们需要找到cooki…

哪些数据可视化工具适合初学者使用?

数据建模及可视化平台&#xff0c;提供一站式全链路数据生命周期管理方案&#xff0c;支持数据建模&#xff0c;支持报表、图谱、大屏可视化应用的快速构建&#xff0c;支持AIBI探索实践&#xff0c;全流程免代码&#xff0c;免费使用 1、功能结构 2、技术架构 3、功能清单

2024年独立站C端只靠SEO还有机会吗?(川圣SEO)蜘蛛池

baidu搜索&#xff1a;如何联系八爪鱼SEO&#xff1f; baidu搜索&#xff1a;如何联系八爪鱼SEO&#xff1f; baidu搜索&#xff1a;如何联系八爪鱼SEO&#xff1f; 2024年独立站C端只靠SEO还有机会吗&#xff1f;#蜘蛛池SEO 都2024年了&#xff0c;你的外贸独立站推广还需要…

盘点Python中4种读取JSON文件和提取JSON文件内容的方法

目录 一、使用json模块的load()方法 二、使用json模块的loads()方法 三、使用pandas库的read_json()方法 四、使用第三方库如requests从网络API获取JSON数据 总结 JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;它基于EC…

一文总结CNN中【各类卷积】操作

本文详细总结CNN中各类卷积&#xff0c;旨在指导 domain-specific 更好的模型设计&#xff0c;包括标准卷积&#xff0c;分组卷积&#xff08;Group Conv&#xff09;&#xff0c;深度可分离卷积&#xff08;Depthwise Separable Conv&#xff09;&#xff0c;转置卷积&#xf…

官网解决方案之:人力资源网站建设的十大要点

hello&#xff0c;大家好&#xff0c;我是贝格前端工场&#xff0c;从这期开始分享行业网站该如何规划和建设&#xff0c;本期从人力资源网站开始说起。 建设人力资源官网是企业展示自身人力资源管理能力&#xff0c;吸引人才&#xff0c;提升企业形象的重要途径。以下是建设人…

【Linux实践室】Linux 查询命令帮助语句(文末送书)

&#x1f308;个人主页&#xff1a;聆风吟_ &#x1f525;系列专栏&#xff1a;Linux实践室、网络奇遇记 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 一. ⛳️任务描述二. ⛳️相关知识2.1 &#x1f514;Linux man命令2.2 &#x1f514;Linux info…

【逆向】深入了解 Frida 中的 Java.choose 方法:动态选择实例

枕着光的她往前走 路上难免风吹雨打 叫上一声老伴啊 便有人应答 她就晓得 到了家 &#x1f3b5; 任素汐《枕着光的她》 在安卓应用程序的逆向工程和安全审计过程中&#xff0c;经常需要对应用程序中的特定类的实例进行操作。然而&#xff0c;有时候我们无…

在linux中查询运行日志的方法

在Linux中查询之前的运行日志&#xff0c;可以通过多种方式&#xff0c;具体取决于你想要查询的日志类型&#xff08;如系统日志、应用程序日志等&#xff09;以及你的系统配置。以下是一些常用的方法&#xff1a; 1. 使用journalctl命令&#xff08;Systemd系统&#xff09; …

软件测试知识面试题:白盒测试、黑盒测试、测试用例

文章目录 白盒测试1、白盒测试分两类2、白盒测试的四个原则3、白盒测试常用的7类测试 黑盒测试1、黑盒测试的优缺点2、黑盒测试的方法3、黑盒测试的原则 测试用例1、测试用例包含2、设计测试用例所需的文档资料3、采用白盒测试技术设计用例的目的4、采用黑盒测试技术设计用例的…

InnoDB数据页结构---页目录 PageDirectory

InnoDB为了不同的目的而设计了许多种不同类型的页&#xff0c;比如存放表空间头部信息的页&#xff0c;存放Insert Buffer信息的页&#xff0c;存放INODE信息的页&#xff0c;存放undo日志信息的页等等等等。本文聚焦的是那些存放我们表中记录的那种类型的页&#xff0c;官方称…

ChatGPT提问技巧:可解释的软提示

ChatGPT提问技巧&#xff1a;可解释的软提示 可解释的软提示是一种既能控制模型生成的文本&#xff0c;又能为模型提供一定灵活性的技术。 具体做法是为模型提供一组受控输入和一些有关所需输出的附加信息。这种技术可以使生成的文本更具可解释性和可控性。 提示示例及其公式…

【计算机网络】————集线器

集线器&#xff08;HUB&#xff09;是一种计算机网络设备&#xff0c;用于连接多个计算机或其他网络设备并将它们组成一个局域网。通常是一个小型的硬件设备&#xff0c;包括多个网口&#xff0c;并使用电缆将这些网口连接到其他的网络设备上。 特点 物理层设备&#xff1a; …

python模拟百度网盘(1)

实现服务器与客户端的简单通信 服务器代码 import socket def tcp_server():ssocket.socket(socket.AF_INET,socket.SOCK_STREAM)#tcp的socket, 开启一个缓冲区addr("192.168.0.106",2000)s.bind(addr)s.listen(128)#同时可以往缓冲区中放入的连接数new_client, c…

edm邮件是什么意思:与普通邮件有何不同?

edm邮件是什么意思&#xff1f;如何优化邮件内容以提高转化率&#xff1f; edm邮件因其独特的营销价值而备受关注。那么&#xff0c;edm邮件究竟是什么意思呢&#xff1f;它与普通邮件又有哪些不同呢&#xff1f;下面&#xff0c;AokSend就来为大家介绍一下。 edm邮件的概念与…

【SpringCloud微服务实战07】Sentinel 服务保护

Sentinel 是阿里巴巴开源的一款微服务流量控制组件。主要作用: 流量控制:避免因瞬间高并发流量而导致服务故障流。超时处理、线程隔离、降级熔断:避免因服务故障引起的雪崩问题。一、Sentinel 安装 1、安装Sentinel控制台,下载jar包并启动:Releases alibaba/Sentinel G…

VUE2改变数组对象的方法($set)

需求&#xff1a;vue中数组或者对象的长度无法监听时&#xff0c;需要实时刷新数据 思路&#xff1a;通过$set方法实现数据监听 //改变数组 1.全局方法(不常用) Vue.set(vm.items, indexOfItem, newValue) //Vue.set(数组名字, 改变的索引位置, 需要更改的值) // Vue.set(arr,…

基于大数据的商业模式创新研究

目录 一、导论 2 &#xff08;一&#xff09;研究背景 2 &#xff08;二&#xff09;研究意义 2 &#xff08;三&#xff09;研究内容 3 &#xff08;四&#xff09;研究思路与研究方法 4 &#xff08;五&#xff09;国内外研究现状 6 二、大数据的界定与应用概况 7 &#xff…