1.14.综合练习1-随机点名器的两种实现方式

随机点名系统——html初学实战 一、实验目的 编写随机点名程序(越不来上课的人,被点中的概率越高,实现抽查、预警等功能) 二、算法设计与结果预览 选择开发语言: C/C++ 不太适合,由于我的想法是最终要做出一个比较拿的出手的图形界面 Java(Swing窗体开发),有想过,但觉得不能完全实现我的功能,代码量大且冗余。 Python 其实可以一试,但最终选择了html语言。对于html来说,它能够快速开发出界面友好的网页,功能强... 阅读详情

题目一:

解法一:元素不变,索引随机

package com.itheima.a06test;
​
import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;
​
public class Test1 {
    public static void main(String[] args) {
        //1.创建集合(因为不知道有多少个学生,所以用集合)
        ArrayList<String> list = new ArrayList<>();
​
        //2.添加元素
        Collections.addAll(list, "范闲", "范建", "范统", "杜子腾", "杜琦燕", "宋合泛", "侯笼藤", "朱益群", "朱穆朗玛峰", "袁明媛");
​
        //3.定义随机器
        Random r = new Random();
        int index = r.nextInt(list.size());
        /*list.size()代表list集合的长度,此时集合长度为10,
          所以随机数据的范围为[0,10)即[0,9]*/
​
        //4.输出结果
        System.out.println(list.get(index));
    }
}
​

解法二:元素随机,索引不变

package com.itheima.a06test;
​
import java.util.ArrayList;
import java.util.Collections;
​
public class Test1 {
    public static void main(String[] args) {
        //1.创建集合(因为不知道有多少个学生,所以用集合)
        ArrayList<String> list = new ArrayList<>();
​
        //2.添加元素
        Collections.addAll(list, "范闲", "范建", "范统", "杜子腾", "杜琦燕", "宋合泛", "侯笼藤", "朱益群", "朱穆朗玛峰", "袁明媛");
​
        //3.随机点名
        /*思路:固定获取某个索引的元素如0索引(1索引等也可以,只需要在list集合的有效索引内即可),然后打乱集合的元素,
          此时固定获取某个索引上的元素就会跟着随机变动,实现了随机点名*/
        Collections.shuffle(list); //shuffle方法打乱list集合的内容
​
        //4.输出结果
        String name = list.get(0); //1索引也可以,只需要在list集合的有效索引内即可
        System.out.println(name);
    }
}

​

也可以元素随机,索引也随机,但这样效率低(时间复杂度和空间复杂度都较高),就不考虑了。


Java随机点名器(带权重的随机算法) arr = {1.0,2.0,3.0,4.0,5.0,6.0},那么如果随机数随机到3.14,则表示点到的学生位于3.0-4.0之间,在返回数组中3.14这个数应存入位置的索引来表示是第几个学生被点到了。通过带权重的随机算法来实现随机点名器,该点名器的效果是点到的学生再次被点到的概率下降一半。以此类推,当同学被点到的之后修改同学对于的权重,修改为原来的一半即可。* 分别表示:姓名-性别-年龄-权重占比。* 数据格式:XXX-男-20-1.0。第二个同学范围:【1.0-2.0) 阅读详情

相关推荐

JS实现随机点名系统

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> *{ bac

weixin_48672332的博客 1321

【基于C语言的随机点名器】

基于C语言的随机点名器 【1】C语言-》控制台颜色绚丽多彩 【2】C语言-》 printf 输出颜色花样百出 【3】C语言-》 随机点名试炼中 【4】C语言-》 随机点名项目实现

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 6099

[ Python ] 用Python实现一个简单课堂点名器V5

一、任务 实现教师用户的注册和用户登陆功能,将教师用户名和密码存储在MySQL数据库。 以18网工、19网工的学生名单为例,从外部文件分别导入程序中,并将学生信息分别存入MySQL数据库中的两个表中。 实现登陆后的教师用户选择所需点名的课程和班级的功能。 随机对班级所有同学进行点名。 判断未到学生是否有请假条,有则视为请假,无则视为旷课。 对点名结束后进入教室的学生将旷课改为迟到。 对中途离开课...

On D's Way 1082

html中自动随机点名的程序,html实现随机点名器的示例代码

此点名器开始点名后需点击停止按钮完成点名,因为是精简版没有考虑自动停止需求。姓名数据以字符串形式储存,适合小范围点名使用,有大量需求可自己适当改进。随机点名生成/* 页面css样式 */.wrapper {width: 800px;margin: 100px auto;border: 1px solid #ddd;text-align: center;}.box li {vertical-alig...

weixin_33134753的博客 6856

利用HTML实现上课随机点名

高中数学老师一枚,为增强上课的趣味性,激发学生的学习欲望,专门用HTML5写了一个上课随机点名系统。通过实践检验,效果良好。虽然学校一体机配备有点名软件,但老师自己写的小玩意可以。

Mo_jian的博客 3860

【Java学习】第24节:可变参数、集合工具类&综合练习

Java是一种广泛使用的编程语言,由Sun Microsystems(现在是Oracle Corporation)首次推出。它是一种跨平台的编程语言,意味着您可以编写一次代码,然后在多个不同的计算机系统上运行,而无需对其进行修改。Java被广泛用于开发各种类型的应用程序,包括企业级应用、移动应用、Web应用、游戏等。

m0_46013789的博客 1536

JS实现随机点名器

实现一个简单的随机点名器 需求分析: 两个按钮实现随机点名的开始和结束 创建ul元素,添加到父级div中,实现了每个名字需要放在一个单独的盒子中 根据随机数进行随机选择,(涉及到了两个函数 setInterval clearInterval)在选择之前,先清空盒子的所有类样式,如果被选中,则重新赋予类样式 当点击停止按钮时,根据上一步拥有重新选择出来的li标签获取标签内容,并且直接可以展示到对...

weixin_44900104的博客 1495

WebVTT中的文本轨道(Text Tracks,TT)到底是什么鬼?

WebVTT,全称是The Web Video Text Tracks Format,意思是网络视频文本轨道格式。那么到底什么是文本轨道(Text Tracks)呢?这篇文章希望一探究竟。

码农1479的博客 1985

java随机点名器的思路_Java案例:随机点名器

案例介绍:随机点名器,即在全班同学中随机的找出一名同学,打印这名同学的个人信息。需具备以下3个内容:1)存储所有同学姓名2)总览全班同学姓名3)随机点名其中一人,打印到控制台案例需求分析:全班同学中随机的找出一名同学,打印这名同学的个人信息。1)存储全班同学信息(姓名、年龄)2)打印全班同学每一个人的信息(姓名、年龄)3)在班级总人数范围内,随机产生一个随机数,查找该随机数所对应的同学信息(姓名、...

weixin_39683858的博客 1172

【MCU】一种基于RTOS的无应答重发机制

文章目录一、背景描述二、结构框图三、基于RTOS的信号量的实现(3-1)思路描述(3-2)步骤(3-2-1)定义超时重发信号量(3-2-2)定义发送线程入口(3-2-3)定义接收线程入口四、基于定时器的实现(4-1)思路描述(4-2)步骤(4-2-1)创建定时器(4-2-2)定义定时器超时处理函数(4-2-3)定义发送线程入口(4-2-4)定义接收线程入口 一、背景描述 ​ 在微控制器之间进行数据通信时,大多需要添加无应答重发机制,以增强数据交互和通信的稳定性。 在使用UART通信的双方设备,当一次数据传输

iriczhao的博客 1523

猫耳语音下载(mediadown)

西宾猫耳语音下载工具,能够帮助你下载猫耳音频节目。如果你是会员,它还能帮你下载会员节目。

new_stranger的专栏 2491

用php实现随机点名,JS实现随机点名器

本文实例为大家分享了JS实现随机点名器的具体代码,供大家参考,具体内容如下实现一个简单的随机点名器需求分析:两个按钮实现随机点名的开始和结束创建ul元素,添加到父级div中,实现了每个名字需要放在一个单独的盒子中根据随机数进行随机选择,(涉及到了两个函数 setInterval clearInterval)在选择之前,先清空盒子的所有类样式,如果被选中,则重新赋予类样式当点击停止按钮时,根据上一步...

weixin_29620579的博客 540

RK3588上从零部署Facenet人脸识别:PyTorch转ONNX再到RKNN的完整避坑指南

本文提供了在RK3588开发板上从零部署Facenet人脸识别模型的完整指南。详细介绍了从PyTorch模型导出、转换为ONNX格式,再通过RKNN-Toolkit2转换为RKNN格式的完整流程,并重点分享了环境配置、算子兼容性处理、量化调优及板端部署中的关键步骤与避坑经验。

river的博客 464

随机点名器的实现

所有代码如下: css样式可自行修改 <!doctype html> <html> <head> <meta charset="utf-8"> <title>点名器</title> <style> body { text-align: center; background-color: white...

qq_44760912的博客 459

ZYNQ出现问题及解决办法汇总(一直更新)

问题目录使用软件及开发板版本一,vitis在build project时卡住。二,Could not find FPGA device on the board for connection 'Local'三,FPGA configuration failed:DONE PIN is not high四,Could not find ARM device on the board for connection 'Local' 使用软件及开发板版本 开发板:MZ7XA-7020 软件:vitis2020.2(

qq_45057368的博客 1万+

Modbus 通信协议详解

Modbus是由 Modicon(现为施耐德电气公司的一个品牌)在 1979 年发明的,是全球第一个真正用于工业现场的总线协议。ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。为更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给 IDA(,分布式自动化接口)组织,并成立了 Modbus-IDA 组织。

Projectsauron 的博客 7万+

js 随机点名器

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> *{ mar

z946541的博客 980

DDD系列 - 第12讲 如何在DDD中实现Query服务(轻量化CQRS)

轻量化CQRS、整合Repository和DAO的优势。

罗小爬的技术宝书 266

js点名器加随机颜色

点名器加随机颜色 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{ margin: 0; padding: 0; } body{ background: black; } div{ float: left; } .jingr

starry__sty的博客 355

OpenClaw更新后变傻了?一分钟教你快速恢复(OpenClaw更新版本后降智、缺少权限问题的解决方案)

OpenClaw 版本更新后出现降智问题,AI不再执行具体任务。本文详细分析问题原因,提供最简便的解决方案✅

XiaoqiangClub的博客 3882

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

js-简易点名器

点名器效果展示 话不多说,直接上代码!!! <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>点名器</title> </head> <style> *{ margin

yuan_xiaoxin的博客 715

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

简单的JavaScript+HTML随机点名器

JavaScript 编写简单的随机点名器 这是一次使用 JavaScript来编写随机点名器的静态网页页面。如果你想学习如何使用JavaScript等知识的话可以关注本公众号,后面我会写一下入门学者的可以很好入手的JavaScript作品 随机点名器 随机点名器是我们大学里面最恐怖的软件,每一次上课提问的时候每个人都是心惊胆战的看着屏幕,现在我就带大家了解一下随机点名器的代码原理: 界面的设计 我这里用的是表格形式写的随机点名框 // An highlighted block <table b

wjfckx的博客 3814

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Flutter 框架跨平台鸿蒙开发 - 随机点名器:打造课堂互动神器

/ 排除最近被点名的// 最近N次// 平衡点名次数// 小组轮流PickRule({});) {// 排除最近被点名的.toSet();.toList();// 平衡点名次数.toList();// 小组轮流.group;.toList();

2301_80888339的博客 1001

随机点名系统

课堂作业 - 随机点名系统 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>随机点名系统</title> <style> body{

weixin_48689480的博客 1416

IOS 学的容易----随机点名器内部实现

一.面布局 #import "HuaMingCeViewController.h" @implementation HuaMingCe - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { NSMutableArray *array = [[NSMut

ZhangBo@IOS学的容易博客 922

js点名器

js点名器 点击、炫动、随机出现一个名字 代码如下(示例): <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <styl

Xuruij的博客 261
上一篇: 1.13.集合工具类Collections
下一篇: 1.4.Stream流-Stream流的终结方法
巧克力拌面
博客等级 码龄3年 1153粉丝 282原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值