投票管理系统Word格式.docx
《投票管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《投票管理系统Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
![投票管理系统Word格式.docx](https://file1.bdocx.com/fileroot1/2022-10/10/c07860ba-d98e-416e-be01-18bae456957f/c07860ba-d98e-416e-be01-18bae456957f1.gif)
本报告采用java编程语言,一共构造了六个类:
1、Candidate;
2、Manager;
3、
Userlnterface;
4、MainGraph;
5、VoteGraph;
6、ResultGraph。
2.2.1、候选者类:
Candidate
publicclassCandidate{
privateStringname〃候选者姓名
privateintid;
//候选者的编号
privateintnum〃得票数量
privatedoublevoteResult;
//得票率
privatebooleanisVote;
//是否中选
Candidate(Stringname,intid);
//Candidate的构造方法
publicStringgetName();
publicvoidsetName(Stringname);
publicintgetId();
publicvoidsetId(intid);
publicintgetNum();
publicvoidsetNum(intnum);
publicdoublegetVoteResult();
publicvoidsetVoteResult(doublevoteResult);
publicbooleanisVote();
publicvoidsetVote(booleanisVote);
2.2.2、管理类:
Manager类publicclassManager{
public
int
candidates;
//
候选人的数量
percentage;
当选标准(百分比)
voters=0;
投票人数量
List<
Candidate>
listc
;
装载候选者的容器
publicstaticvoidmain(String[]args);
publicvoidcalculateResult();
//计算结果
}
2.2.3、窗口的操作类Userlnterface
publicclassUserInterfaceextendsJFrame{
privatestaticfinallongserialVersionUID=1L;
publicContainercontentPanel;
//当前界面控制器
publicManagermanager;
//利于数据通信,主要包括:
候选人数量、当选标准、投
票者数量
publicJPanelp1;
//输入信息的面板
publicJPanelp2;
//投票面板
publicJPanelp3;
//显示投票结果的面板
publicList<
JTextField>
list_textfield;
//装载候选人姓名的容器
JRadioButton>
list_jradiobutton;
//投票
publicUserInterface(Managerm);
publicvoidupdate();
//窗口中增删组建后立即更新
publicvoidaddCandi(intnum);
//panel1输入侯选者姓名完成后,生成候选者对象
2.2.4、输入面板类:
MainGraph
publicclassMainGraph{
privateUserInterfaceuserInterface;
//与主面板的通信
publicMainGraph(UserlnterfaceuserInterface);
//MainGraph的构造函数
publicvoidlaunchMainGraph();
//加载主面板
2.2.5、投票面板类:
VoteGraph
publicclassVoteGraph{
publicVoteGraph(UserInterfaceuserInterface);
//构造函数
publicvoidlaunchVoteGraph();
//加载投票面板
2.2.6、显示结果类:
ResultGraph
publicclassResultGraph{
publicResultGraph(UserInterfaceuserInterface);
//构造函数
publicvoidlaunchResultGraph();
//加载显示结果的面板
3功能实现
3.1窗口显示
点击运行后弹出一个窗口(Panell),要求用户输入候选人的个数(1-12)以及当选标
准(若为50%,只需输入50即可)
请辙人投票信息
常输人條議人tn令戟:
门■低〕:
f百甘IO:
1
假若依次输入12,50.点击确定后,窗口中会提示输入侯选人的姓名,候选人的编号是
从小到大依次生成的。
2总迟黑却拧竺哥卑金城
请输人投票信息
碩确人慣谐人跑々:
讳锚吁進标灌©
百
请为候选者投票
卩_:
1葺[冥红窑
-爲刘罰莉
O鸥:
工眾直
匚3号:
部斉
C膚:
車丹
|C4号:
爭陆
C4垮住弘倉
J箱:
掘三
C"
号:
李回
U贞号住cb丽
二q房:
主並贺
握立二|匚品不琴卑
假若共有7名投票人参与投票(每次投票完点击提交即为完成依次投票)投票过程如下:
投票者1:
1号:
吴红岩
3号:
邵芳
9号:
李丹
11号:
李四
投票者2:
2号:
刘莉莉
4号:
尹聪敏
6号:
王小丽
8号:
王永霞
投票者3:
5号:
张三
7号:
李泽
投票者4:
12号:
王龙贺
投票者5:
5号:
7号:
:
10号
王小慧
投票者6:
11号
投票者7:
2号
3号:
4号:
最终的投票结果如下图所示:
扶茸斤按票人兰选标薜;
3.2功能1
整个系统的UML时序图如下图所示:
片:
nwwLto書rlnftrf'
孔悔
L_jEurxhH&
鬥匚r帮卉
1iftUnchFesult^^hi'
1.11.j
.:
Llil'
lM13(1屯
£
F
C
<
■
附录:
程序源代码
1、Candidate的详细代码:
//候选者的编号privateintnum〃得票数量
//得票率privatebooleanisVote;
Candidate(Stringname,intid){
this.name=name;
this.id=id;
this.num=0;
this.voteResult=0;
this.isVote=false
publicStringgetName(){returnname
publicvoidsetName(Stringname){
publicintgetId(){
returnid;
publicvoidsetId(intid){this.id=id;
publicintgetNum(){
returnnum;
publicvoidsetNum(intnum){this.num=num;
publicdoublegetVoteResult(){
returnvoteResult;
publicvoidsetVoteResult(doublevoteResult){this.voteResult=voteResult;
publicbooleanisVote(){returnisVote;
publicvoidsetVote(booleanisVote){this.isVote=isVote;
publicStringtoString(){
returnthis.name;
2、Manager类的详细代码importjava.util.ArrayList;
importjava.util.List;
publicclassManager{
publicintcandidates;
//候选人的数量publicintpercentage;
//当选标准(百分比)
listc=newArrayList<
();
publicstaticvoidmain(String[]args){
Managerm=newManager();
UserIntefaceui=newUserInteface(m);
MainG