【小型系统】抽奖系统

一、需求分析

  1. 显示候选人照片和姓名。

  2. 可以使用多种模式进行抽奖,包括一人单独抽奖、两人同时抽奖、三人同时抽奖。

  3. 一个人可以在不同的批次的抽奖中获取一、二、三等奖,但是不能在同一批次抽奖中获取多个奖项。

二、系统总体框架

  系统需求比较简单,采用Java Swing技术可以很好的实现,系统的总体类框架图如下

  

  说明:基于主要的三个类就可以完成所需要的功能,Frame有Panel类型与MouseAdapter类型的成员,Panel主要用户存放具体的控件和绘制相应的信息,MouseAdapter主要用于响应鼠标的点击操作。

三、系统实现细节

  1. 照片轮流显示效果 - 定时器

  既然是抽奖系统,所以一定要有让候选人图片滚动以起来的效果,那么如何实现呢?采用定时器即可,每100ms出发一次定时器,则可以让每100ms都显示不同候选者的照片和姓名。

  2. 同一候选人在同一批次不能获得多个奖项 - 循环算法

  在进行多人模式进行抽奖的时候,如何保证同一候选人不能获得多个奖项?使用一个循环算法即可,若随机生成的几个数相同,则重新生成,直到同一批次生成的数均不相同。

  3. 候选人照片与姓名如何对应 - 两个链表实现

  使用两个链表保证滚动的照片和姓名相对应,前提是照片名字是用候选人姓名+照片格式构成,如leesf.jpg。这样,在读取照片的时候也对照片名进行解析,提取出名字,并将照片和名字分别加入照片链表和姓名列表,这样,在取的时候直接同时取照片链表和姓名链表的相应项即可。

四、代码清单

  本系统代码已经上传到GitHub上。地址为:https://github.com/leesf/LuckDrawSystem.git欢迎各位园友fork和下载。

五、运行截图

  

  系统界面

菜单栏

六、总结

  一个非常简单的抽奖系统,读者有需要的可以根据自己的需求去进行修改。谢谢各位园友的观看~

  

  

时间: 2024-10-31 14:36:40

【小型系统】抽奖系统的相关文章

【小型系统】抽奖系统-使用Java Swing完成

一.需求分析 1. 显示候选人照片和姓名. 2. 可以使用多种模式进行抽奖,包括一人单独抽奖.两人同时抽奖.三人同时抽奖. 3. 一个人可以在不同的批次的抽奖中获取一.二.三等奖,但是不能在同一批次抽奖中获取多个奖项. 二.系统总体框架 系统需求比较简单,采用Java Swing技术可以很好的实现,系统的总体类框架图如下 说明:基于主要的三个类就可以完成所需要的功能,Frame有Panel类型与MouseAdapter类型的成员,Panel主要用户存放具体的控件和绘制相应的信息,MouseAda

小型抽奖系统的一个总结

package com.Test; import java.util.Arrays; import java.util.Scanner; public class Test2 { /** 主要功能 注册 登录 幸运抽奖 需求说明 输出菜单 选择菜单编号,输出菜单信息 如果编号选择错误,输出“您的输入有误!” 需求说明 系统询问用户是否继续 如果用户选择继续,则可以继续选择菜单,否则程序结束,退出系统 需求说明 输入用户名和密码,系统产生4位随机数作为卡号. 注册成功,显示注册信息并修改注册标识为

抽奖系统-使用Java Swing完成

一.需求分析 1. 显示候选人照片和姓名. 2. 可以使用多种模式进行抽奖,包括一人单独抽奖.两人同时抽奖.三人同时抽奖. 3. 一个人可以在不同的批次的抽奖中获取一.二.三等奖,但是不能在同一批次抽奖中获取多个奖项. 二.系统总体框架 系统需求比较简单,采用Java Swing技术可以很好的实现,系统的总体类框架图如下 说明:基于主要的三个类就可以完成所需要的功能,Frame有Panel类型与MouseAdapter类型的成员,Panel主要用户存放具体的控件和绘制相应的信息,MouseAda

PPT图片双屏抽奖系统现场主要操作流程介绍

具体步骤: 一.把第二个步骤优化处理制作好的PPT文件 图片.ppt ,复制到抽奖系统中的PPT文件夹下,覆盖同名文件. 启动"PPT图片双屏抽奖系统.exe"文件: 准备1-必做: 点击系统主界面[1-设置]按钮,打开设置对话框,如下图: [奖励档次有效数值设置]是指从A依次至I,经历多了个奖项.数值范围为1-9. 比如:A->B->C->D-E, [奖励档次有效数值设置]为5. [滚动时左上角显示提示信息]选项是指当用户点击[开始滚动抽取] 按钮时,滚动画面左上方

jquery实现抽奖系统

闲来无事做了一个抽奖的系统: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>抽奖系统</title> <script src="source/jquery.js"></script> <style> #box{ width:450px; margi

小型电商系统数据库中的价格类型设计

今天分享一个小型电商系统的数据库价格字段的数据类型设计.附上通用四舍五入转换方法 我们知道,价格字段使用的类型,最佳的有两个,分别为:decimal,money:而money小数部分只能精确到4位,虽然money在内存上是比decimal少那么一个字节,但是现在硬盘那么大,不用计较了. 个人喜欢,我全部直接用decimal(18,5),小数部分我直接用了5位: 但是对于一个商品来说,我最多只会用到两位小数,百分比也只会用到4位,5位的只能是更小的佣金比例计算. 但我觉得这样算起来的数,小数实在是

抽奖系统(键盘事件)

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>慕课网(抽奖系统)</title> <style type="text/css">*{margin: 0px;padding: 0px}.title{width: 400px;height: 70px;margin: 0 auto

自制一小型的linux系统mylinux(转载)

通过grub引导程序引导编译后的内核文件bzImage,把制作的文件系统变成ramdisk镜像文件,通过内存加载镜像文件完成文件系统的注入:其中的命令通过编译busybox生成bin,sbin文件:注意: 内核文件+文件系统镜像文件+grub引导程序<=1440K 详细步骤: 1.软盘上安装引导器(grub) 具体操作如下: # mke2fs /dev/fd0 创建了 ext2 文件 # mount /dev/fd0 /mnt/floppy 现在,创建一些目录,并将一些关键文件复制到软盘: #

简易抽奖系统的实现,键盘控制

一个简易的抽奖系统! JS原理:建立一个数组用来存储抽奖内容,例如 iphone6 等,当点击开始的时候,开启定时器,产生一个随机数,把对应文本的innerHTML改成数组所对应的内容. 如果想让某个抽奖几率变高,可以让数组中某个值重复次数多点.接下来看代码.. JavaScript代码 1 window.onload = function(){ 2 var data = [ 3 "iphone 6s plus", 4 "苹果Mac 笔记本", 5 "美的