您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > java抽奖程序课程设计
兰州商学院陇桥学院工学系课程设计报告设计题目:抽奖程序系别:工学系专业(方向):电子商务年级、班学生姓名:学生学号:指导教师:2013年12月5日目录一、系统开发的背景.......................................................................................................................3二、系统分析与设计.......................................................................................................................3(一)系统功能要求...............................................................................................................3(二)系统模块设计...............................................................................................................3三、系统的设计...............................................................................................................................4四、系统测试...................................................................................................................................5五、总结...........................................................................................................................................5六、程序代码...................................................................................................................................6抽奖程序一、系统开发的背景java语言的开发方法是当今世界最流行的开发方法,是当今流行的网络编程语言。它具有面向对象、跨平台、分布应用等特点。它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。很多程序开发人员得第一选择。为了将课堂上得知识掌握得更加透彻,深刻把握Java语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。让学生自己动手动脑,将书本上得知识运用到实践当中去,使知识能更好得融会贯通。二、系统分析与设计(一)系统功能要求1)能够在电脑上抽奖,分别抽取4等奖、3等奖、2等奖、1等奖、特等奖,设定每种奖项的人数后分别一次抽取每个奖项。2)按给定的总人数以序号或电话号码为抽奖依据。(二)系统模块设计通过对系统功能的分析,抽奖系统功能如图1所示打开抽奖人员保存地址开始抽奖暂停抽奖产生中奖显示抽奖结果图1抽奖系统业务流程图三、系统的设计此小程序的基本流程是,在一个文本文件存放里面备选的数据,数据的格式是每行有姓名和手机号他们之间是用分隔符-来分隔的。然后在自定义一个方法,通过分隔符来区分姓名和手机号,然后将他们分别存储进两个不同的可变向量当中。自定义一个线程,此线程是专门用来随机选取一个号码,并且每隔50毫秒就将一个不同的号码显示在号码框中,这样就实现了号码的快速滚动,实现了完全模拟电视当中抽奖的画面为了实现选取出的一个号码不能再被选种,实现的方法是将他们从可变向量中清除出去。此程序首先从四等奖开始抽取四人,三等奖抽取三人,二等奖抽取二人,一等奖一人,特等奖一人。记录中奖号码中奖等级抽奖功能流程图四、系统测试程序测试如下图:五、总结在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路。在设计课程过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长显示一等奖显示二等奖显示三等奖显示四等奖退出显示打开人员文件子界面关闭人员文件的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。我们通过查阅大量有关资料,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力。附件六、程序代码importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.io.*;importjava.util.*;publicclassChooseAwardextendsJFrame{/****///系统自动生成privatestaticfinallongserialVersionUID=7510608124693852355L;JButtonb_start=newJButton(开始);JButtonb_stop=newJButton(停止);JPanelp_north=newJPanel();JPanelp_center=newJPanel();JPanelp_south=newJPanel();//菜单栏JMenuBarmenubar=newJMenuBar();//菜单项JMenufileMenu=newJMenu(文件);JMenusetMenu=newJMenu(设置);JMenuaboutMenu=newJMenu(关于);/**菜单子项*/privateJMenuItem[]filem={newJMenuItem(选择文件),newJMenuItem(另存为..),newJMenuItem(保存),newJMenuItem(退出)};JTextFieldt_identNumber=newJTextField();//身份证号的文本域Vectorv_identNumber=newVector();//存放读取出来的身份证的号码Vectorv_name=newVector();//存放读取出来的人的姓名Vectorv_printident=newVector();//存放中奖人的身份证号码JLabell_information=newJLabel();JLabell_identNumber=newJLabel();JLabell_sysinformation=newJLabel(系统信息:);JFileChooserfilechooser=newJFileChooser();//文件选择器//选择随机数的线成publicChooseThreadawardThread=null;intchooseTime=0;//按下停止按钮的次数,也就是抽奖的次数publicChooseAward(){super(小型抽奖系统);t_identNumber.setEditable(false);/**1.4以后的JDK可以不用Container*/ContainercontentPane=getContentPane();//BorderLayout布局管理器,东,南,西,北contentPane.setLayout(newBorderLayout());/**给几个按钮和子菜单添加监听器*/filem[0].addActionListener(newActionListener(){//注册加载事件的监听器publicvoidactionPerformed(ActionEvente){b_loadident_ActionPerformed(e);}});b_start.addActionListener(newActionListener(){//注册开始事件的监听器publicvoidactionPerformed(ActionEvente){b_start_ActionPerformed(e);}});b_stop.addActionListener(newActionListener(){//注册停止事件的监听器publicvoidactionPerformed(ActionEvente){b_stop_ActionPerformed(e);}});filem[2].addActionListener(newActionListener(){//注册打印事件的监听器publicvoidactionPerformed(ActionEvente){b_printaward_ActionPerformed(e);}});addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});//将菜单子项加入菜单中for(inti=0;ifilem.length;i++){fileMenu.add(filem[i]);//加入分隔线,为了美观fileMenu.addSeparator();}//将菜单条加入frame中menubar.add(fileMenu);menubar.add(setMenu);menubar.add(aboutMenu);setJMenuBar(menubar);/*将p_north设计为一个状态栏,显示一些操作过程中的信息*创建一个左对齐方式的流布局*/p_south.setLayout(newFlowLayout(FlowLayout.LEFT));l_information.setForeground(Color.blue);p_south.add(l_sysinformation);p_south.add(l_information);contentPane.add(p_south,BorderLayout.SOUTH);/**设置的一些显示方式,字体,大小等,为了尽量美观一点*/Fontxuehao=newFont(null,Font.PLAIN,30);l_identNumber.setFont(xuehao);//字体的居中对齐l_identNumber.setHorizontalAlignment(0);l_identNumber.setText(手机号);Fontnumber=newFont(null,Font.BOLD,30);//粗体t_identNumber.setFont(number);//设置字体颜色t_identNumber.setForeground(Color.red);t_identNumber.setHorizontalAlignment(0);//给上面的jpanel设置布局p_north.setLayout(newGridLayout(2,1));p_no
本文标题:java抽奖程序课程设计
链接地址:https://www.777doc.com/doc-5858088 .html