java抽奖程序课程设计.docx

上传人:b****2 文档编号:1344768 上传时间:2022-10-21 格式:DOCX 页数:24 大小:185.99KB
下载 相关 举报
java抽奖程序课程设计.docx_第1页
第1页 / 共24页
java抽奖程序课程设计.docx_第2页
第2页 / 共24页
java抽奖程序课程设计.docx_第3页
第3页 / 共24页
java抽奖程序课程设计.docx_第4页
第4页 / 共24页
java抽奖程序课程设计.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

java抽奖程序课程设计.docx

《java抽奖程序课程设计.docx》由会员分享,可在线阅读,更多相关《java抽奖程序课程设计.docx(24页珍藏版)》请在冰豆网上搜索。

java抽奖程序课程设计.docx

java抽奖程序课程设计

XX商学院陇桥学院

工学系课程设计报告

 

设计题目:

抽奖程序

系别:

工学系

专业(方向):

电子商务

年级、班

学生XX:

学生学号:

指导教师:

2021年12月5日

 

抽奖程序

一、系统开发的背景

java语言的开发方法是当今世界最流行的开发方法,是当今流行的网络编程语言。

它具有面向对象、跨平台、分布应用等特点。

它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。

很多程序开发人员得第一选择。

为了将课堂上得知识掌握得更加透彻,深刻把握Java语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。

让学生自己动手动脑,将书本上得知识运用到实践当中去,使知识能更好得融会贯穿。

二、系统分析与设计

〔一〕系统功能要求

1)能够在电脑上抽奖,分别抽取4等奖、3等奖、2等奖、1等奖、特等奖,设定每种奖项的人数后分别一次抽取每个奖项。

2)按给定的总人数以序号或为抽奖依据。

〔二〕系统模块设计

通过对系统功能的分析,抽奖系统功能如图1所示

翻开抽奖人员保存地址

开场抽奖

暂停抽奖

产生中奖

显示抽奖结果

图1抽奖系统业务流程图

三、系统的设计

此小程序的根本流程是,在一个文本文件存放里面备选的数据,数据的格式是每行有XX和手机号他们之间是用分隔符-来分隔的。

然后在自定义一个方法,通过分隔符来区分XX和手机号,然后将他们分别存储进两个不同的可变向量当中。

自定义一个线程,此线程是专门用来随机选取一个,并且每隔50毫秒就将一个不同的显示在框中,这样就实现了的快速滚动,实现了完全模拟电视当中抽奖的画面为了实现选取出的一个不能再被选种,实现的方法是将他们从可变向量中去除出去。

此程序首先从四等奖开场抽取四人,三等奖抽取三人,二等奖抽取二人,一等奖一人,特等奖一人。

抽奖功能流程图

四、系统测试

程序测试如下列图:

五、总结

在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改良是程序设计的必经之路。

在设计课程过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计完毕了,但是从中学到的知识会让我受益终身。

发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。

设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。

在设计的过程中发现了自己的缺乏之处,对以前所学过的知识理解得不够深刻,掌握得不够结实。

我们通过查阅大量有关资料,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。

通过这次课程设计我也发现了自身存在的缺乏之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。

这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。

通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力。

附件

六、程序代码

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.io.*;

importjava.util.*;

publicclassChooseAwardextendsJFrame

{

/**

*

*/

//系统自动生成

privatestaticfinallongserialVersionUID=55L;

uttonb_start=newutton("开场");

uttonb_stop=newutton("停顿");

 

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();//XX号的文本域

Vectorv_identNumber=newVector();//存放读取出来的XX的

Vectorv_name=newVector();//存放读取出来的人的XX

Vectorv_printident=newVector();//存放中奖人的XX

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;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_north.add(l_identNumber);

p_north.add(t_identNumber);

 

contentPane.add(p_north,BorderLayout.NORTH);

//给中间的jpanel设置布局

p_center.setLayout(newGridLayout(1,2,10,0));

p_center.add(b_start);

p_center.add(b_stop);

 

contentPane.add(p_center,BorderLayout.CENTER);

}

/*

*加载按钮事件方法

*/

publicvoidb_loadident_ActionPerformed(ActionEvente)

{

intk=0;

chooseTime=0;

//从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取

BufferedReaderreader=null;

//此方法会返回一个i

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1