投票管理系统 JAVA课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.准备阶段(4 学时):选择设计题目、了解设计目的要求、查阅相关资料 2.程序模块设计分析阶段(4 学时):程序总体设计、详细设计 3.代码编写调试阶段(8 学时):程序模块代码编写、调试、测试 4.撰写论文阶段(4 学时):总结课程设计任务和设计内容,撰写课程设计论文
学生签名: 2010 年 12 月 20 日
课程设计(论文)任务书
软件学院 学 院
09 软件工程+会计学 专 业
2

一、课程设计(论文)题目
简单投票管理系统(小应用程序 Applet)
二、课程设计(论文)工作自 2010 年 12 月 20 日起至 2010 年 12 月 24 日止。
三、课程设计(论文) 地点:
软件学院实训中心
四、课程设计(论文)内容要求:
数:"+count[j]);//输出各个候选人得票数 点击“排序”则比较各个候选人的票数由高到低进行排序 for(int j=0;j<peoplenumble;j++)
for(int i=j+1;i<peoplenumble;i++) if(count[j]<count[i]){ m=count[j];count[j]=count[i];count[i]=m;
StringTokenizer st=new StringTokenizer(g);//字符串分析器
peoplenumble=st.countTokens();//统计候选人数
int i=0;
while(st.hasMoreTokens()){
candidatelist[i]=st.nextToken();
(5)设计体会与小结---设计遇到的问题及解决办法,通过设计学到了哪些新知识,
巩固了哪些知识,有哪些提高。
(6)参考文献(必须按标准格式列出,可参考教材后面的参考文献格式)
(7)报告按规定排版打印,要求装订平整,否则要求返工;
(8)课设报告的装订顺序如下:封面---任务书---中文摘要---目录----正文---附录
(代码及相关图片)
(9)严禁抄袭,如有发现,按不及格处理。
4)课程设计评分标准:
华东交通大学课程设计报告
(1)学习态度:10 分; (2)系统设计:20 分; (3)编程调试:20 分; (4)回答问题:20 分; (5)论文撰写:30 分。 5)参考文献: (1)丁振凡. Java 语言实用教程(第 2 版)[M]. 北京邮电大学出版社. 2008.1 (2)丁振凡. Java 语言实用教程实验指导(第 2 版)[M]. 北京邮电大学出版社. 2008.1 (3)杨树林等. Java 语言最新实用案例教程(第 2 版)[M]. 清华大学出版社. 2010.7 6)课程设计进度安排
做好界面后,接下来就需要去实现各个功能了。因为各个功能都是通 过按钮来实现的,所以要对按钮进行注册监听 addActionlistener(),监 听之后就是对按钮事件的处理了 actionPerformed(ActionEvent e)。要一 个字符串中的人名,可以用 StringTokenizer 字符串分析器来获取候选人 的名字,其中还要用到里面的一些方法,比如 nextToken()、hasMoreTokens ()、countTokens()。还有 setEnabled()方法可以设置按钮是否可用, setState(boolean)可以设置复选框是否激活,在文本框或文本域中输出 和获取信息可以分别用 setText()和 getText(),根据候选人数将多余 的复选框去掉,可以让设置多余的为不可见 setVilible(flase)这样就行 了。对于附加功能如背景音乐,可以用 AudioClip 接口、public void play ()控制播放、public void loop()实现循环播放、public void stop ()停止播放当前音乐、使用说明和保存结果都是需要通过新建 Franme 窗 体实现的。
out.setText(" 已 经 统 计 了 :"+totalvote+" 张 选 票 , 其 中 弃 权 票:"+abstention+"作废票:"+invalidatedTicket);//输出统计结果
for(int j=0;j<peoplenumble;j++) personvote[j].setText(""+candidatelist[j]+" 得 票
candidate[j].setVisible(false) 点击“取消”的话输入候选人的文本框为空,此时可以重新输入,点击下 面“确定”则统计选了多少人并通过这个判断是废票还是弃权,然后分别 给候选人增加票数并输出相应的信息;
for(int j=0;j<10;j++){ if(candidate[j].getState()) count1++;}//统计选了多少人 if(count1==0) abstention++;//一个都没选则选票作为弃权 if(count1>3) invalidatedTicket++;//选的人数超过 3 个则选票作废 if(count1<=3&&count1>0){ for(int j=0;j<peoplenumble;j++) if(candidate[j].getState()) count[j]++;}//统计候选人所得票数
课程设计(论文)评审意见
(1)学习态度(10 分):优( )、良( )、中( )、一般( )、差( ); (2)系统设计(20 分):优( )、良( )、中( )、一般( )、差( ); (3)编程调试(20 分):优( )、良( )、中( )、一般( )、差( ); (4)回答问题(20 分):优( )、良( )、中( )、一般( )、差( ); (5)论文撰写(30 分):优( )、良( )、中( )、一般( )、差( );
1.本课程设计的目的
(1)掌握 Java 语言的程序设计方法;
(2)理论联系实际,进一步提高学生的软件开发技术;
(3)培养学生分析、解决问题的能力;
(4)提高学生实践论文撰写能力。
2.课程设计的任务及要求
1)课程设计任务:
设计一个投票管理系统。
2)创新要求:
(1)新增背景音乐
(2)新增程序的“使用说明”
评阅人:
职称: 讲师 2010 年 12 月 25 日
华东交通大学课程设计报告
目录
一、课程设计任务及要求.................................................................... 1 二、需求分析........................................................................................ 2 三、设计思路........................................................................................ 3 四、详细设计........................................................................................ 6 五、运行调试与分析讨论.................................................................. 15 六、设计体会与小结.......................................................................... 19 七、参考文献...................................................................................... 20
(3)在输入候选人之前选项框和部分功能键被禁用,防止乱点导致统计结果有误
(4)新增保存结果功能
(5)新增版权所属标签
3)课程设计论文编写要求
(1)课程设计任务及要求
(2)设计思路--工作原理、功能规划
(3)详细设计---数据分析、算法思路、类设计、功能实现(含程序流程图、主要代
码及注释)、界面等。
(4)运行调试与分析讨论---给出运行屏幕截图,分析运行结果,有何改进想法等。
图1
第1页
华东交通大学课程设计报告
二、需求分析
本程序主要需要掌握窗口的布局和按钮事件的触发相关知识,所有部 件都可以添加到面板 Panel 上,显示提示信息需要用到标签 Label,输入框 需要新建 TextField,按钮用 Button,选票需要新建 Checkbox 复选框来实 现,至于下面那个用来显示各个候选人得票数的要先新建文本框 TextField 添加到一个小面板上,再新建个 Scroll 滚动条,将建有文本框的面板添加 到 Scroll 滚动条上就可以了。为了做出这个界面还需要对各个部件进行摆 放,为了达到那个效果,可以将整个界面分成很多个小块,每一小块都是 个面板,最后再拼接起来,每个小块都设置好布局 setLayout,在这里主要 用到网格布局 GridLayout,流式布局 FlowLayout 和 BorderLayout 方位布 局,设置面板的颜色可以用 setBackground()来实现。
第2页
华东交通大学课程设计报告
三、设计思路
一拿到这个题目我就构思好了大概的方向,那就是先制作主界面,然
后再实现各个按钮的功能。界面设计时,先定义好各个部件:标签 Label、
文本框 TextFiled、按钮 Button、复选框 Checkbox、Scroll 滚动条,我把
整个界面分成很多个小面板,每一行部件都在一个小面板上面,最后将这
华东交通大学课程设计报告
一、课程设计任务及要求
设计一个如图 1 所示的投票管理系统界面,要求输入候选人名单后, 点击确认按钮实现使用选择框代表候选人,计选择框的名字就是候选人的 名字。点击取消按钮候选人输入框为空,重新输入候选人名单。选中候选 人的选择框时,表示给该候选人投一票。点击确定按钮时表示产生一张选 票。点击刷新按钮回到程序的初始界面重新设置候选人。根据选择框的状 态变化统计出候选人的最后得票数,并可按票选取多少点击排序按钮对候 选人进行排序。(其中,最多从候选人中选取 3 人,如果一张选票选取多于 3 人,该票就作废票处理。如果一个也没投票,就作弃权处理。程序能显示 一共统计了多少选票,并能统计出废票和弃权票的票数。
数,废票数,弃权票数
对各个按钮进行注册监听 addActionListener()
在输入候选人名单时是输入一串名字,所以要从这一串名字中单个的提取
出来并统计出候选人个数,在完成这项功能时要用到 StringTokenizer 类。
String g=canditate.getText();//获取输入的候选人
些小面板一个个添加上去 add(),像流式布局 FlowLayout、方位布局
BorderLayout、网格布局 GridLayout 主要是用到了这三种布局,中间那几
块面板通过 setBackground()将其背景色改为绿色。经过不断修改测试运
行,一个投票系统的主界面就做出来了。
接下来就是对各个功能的实现了,定义几个类变量来记录投票相关记录如:
Checkbox candidate[]
//选择框数组,代表候选人
TextField personvote[] //文本条数组,显示每个人的得票情况
int count[]
//wenku.baidu.com录每个人的得票数
int totalvote=0,
//总票数
int peoplenumber=0;
//候选人个数
int count1=0,invalidatedTicket=0,abstention=0; //分别表示 选的人
i++;}//获取语言符号(候选人名单)
点击确认按钮后,根据候选人个数添加单选按钮,并以候选人名字作为单
选按钮的标签名。
第3页
华东交通大学课程设计报告
for(int j=0;j<10;j++) candidate[j].setLabel(candidatelist[j]); //将候选人名单添加到复选框里 将多余的选框设置为不可见 for(int j=peoplenumble;j<10;j++)
相关文档
最新文档