java 现场抽&奖程序分析及实现[源码][附图]

一、需求分析:
在某些活动场合,可能会需要设计对到地场的所有观众进行抽*奖的环节,能包含对现场所有观众序号进行抽*奖且一次抽%奖一个号码只能被抽中一次的各个序号得*奖概率相同的程序便十分需要。
二、概要设计:

[img]http://dl.iteye.com/upload/attachment/333947/f608d26f-d1d2-374f-8372-af49850a436d.bmp[/img]


各个功能通过各自的类来完成。
三、详细设计:
1、本程序提供用户输入随机数范围的功能,方便用户根据到场人数来确定随机产生数据大小。
2、为保证公平性,程序中使用数组来保存抽中过的数据,确保每个数仅会被抽中一次。
四、程序结构
1、程序结构说明:
本程序采用模块化设计方法,各个功能的实现都有具体的方法,在主函数调用相应的方法即可实现程序的要求。程序的整体性很强。
2、重要数据说明:
本程序中定义int类数组istaken,来存放已抽中的数据
3、函数清单:
/*
* 显示界面并添加对应器件的方法
*/
/*
* 重写重绘方法
*/
public void paint(java.awt.Graphics g)
public void showUI()
/*
* 写构造函数,完成对jlabel和jbutton的读入
*/
public LotteryThread(javax.swing.JLabel jl,javax.swing.JButton jb)
//写run方法
public void run()

五、调试分析:
1、程序截图:

[img]http://dl.iteye.com/upload/attachment/329995/95e0d88f-ffad-3179-9f4c-57cd297c4e59.bmp[/img]

[img]http://dl.iteye.com/upload/attachment/329997/71b06c9c-4289-3a69-b89d-38307291bfbe.bmp[/img]

2、程序调试
在调试中发现程序运行一会后就会卡死,通过对代码分析后得知是由于,对于已产生的随机数记录时出现问题。修改相应的语句后问题得到解决。
六、总结:
1、程序设计难点:
本程序的难点在于对于线程的控制(即什么时候线程有效什么时候无效)。
2、程序设计中的不足:
本程序在显示抽中代码的效果上还不是很完美,还有待改进。
3、训练体会:
这次训练是我第一次进行现场、限时编程,调试。虽然说这类程序之前已经编过,但还是在编写过程中遇到不少问题。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值