投票管理系统.docx

上传人:b****3 文档编号:1063112 上传时间:2022-10-16 格式:DOCX 页数:19 大小:211.89KB
下载 相关 举报
投票管理系统.docx_第1页
第1页 / 共19页
投票管理系统.docx_第2页
第2页 / 共19页
投票管理系统.docx_第3页
第3页 / 共19页
投票管理系统.docx_第4页
第4页 / 共19页
投票管理系统.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

投票管理系统.docx

《投票管理系统.docx》由会员分享,可在线阅读,更多相关《投票管理系统.docx(19页珍藏版)》请在冰豆网上搜索。

投票管理系统.docx

投票管理系统

投票管理系统

1题目描述

投票选举过程:

(1)用户从键盘输入候选人的个数(提示用户输入人数为1-12)、当选标准(例:

为50%,只需输入50即可)。

点击确定后,由用户从键盘输入每一个候选人的姓名,提交后即可生成候选人的信息(包括姓名和编号)。

(2)投票者就开始投票,对投票者没有姓名和编号的存储,只有结果的存储。

(3)以表格的形式展示选举结果,包括:

候选者的编号、姓名、所得票数、得票率、是否中选,并附投票人的个数和当选标准。

2类设计

2.1类图

Manager:

控制整个系统,并对投票结果以及是否当选进行控制;Userinterface:

控制整个系统的展示;

MainGraph:

接收候选者人数、姓名、当选标准信息;VoteGraph:

接受用户的投票信息;

ResultGraph:

展示最终的投票结果;

Candidate:

候选人的实体对象‘包括候选人的各种属性;

22类声明

本报告采用java编程语言,一共构造了六个类:

1、Candidate;2、Manager;3、

Userinterface;4、MainGraph;5・VoteGraph;6、ResultGraph。

2.2.1、候选者类:

Candidate

publicclassCandidate{

privateStringname〃候选者姓名

privateintid;〃候选者的编号

privateintnum〃得票数量

privatedoublevoteResult;//得票率

privatebooleanisVote:

//是否中选

Candidate(Stringname,intid);//Candidate的构造方法

publicStringgetName();

publicvoidsetName(Stringname);

publicintgetld();

publicvoidsetld(intid);

publicintgetNum();

publicvoidsetNum(intnum);

publicdoublegetVoteResult();

publicvoidsetVoteResult(doublevoteResult);

publicbooleanisVote();

publicvoidsetVote(booleanisVote);

2.2.2・管理类:

Manager类publicclassManager{

public

int

candidates;

//

候选人的数量

public

int

percentage;

//

当选标准(百分

ri、

public

int

voters=0;

//

投票人数量

Listlistc

;//

装载候选者的容器

publicstaticvoidmain(String[]args);

publicvoidcalculateResult();//计算结果

2.2.3・窗口的操作类Userlnterface

publicclassUserlnterfaceextendsJFrame{

privatestaticfinalIongserialVersionUID=1L;

publicContainercontentPanel;//当前界面控制器

publicManagermanager;〃利于数据通信,主要包括:

候选人数量、当选标准、投

票者数量

publicJPanelp1;

publicJPanelp2;

publicJPanelp3;

〃输入信息的面板

//投票面板

〃显示投票结果的面板

publicListlist_textfield;//装载候选人姓名的容器

publicListlistjradiobutton;//投票

publicUserlnterface(Managerm);

publicvoidupdate();〃窗口中增删组建后立即更新

publicvoidaddCandi(intnum);//panel1输入侯选者姓名完成后'生成候选者对象

2.2.4・输入面板类:

MainGraph

publicvoidlaunchResultGraph();〃加载显示结果的面板

3功能实现

3.1窗口显示

点击运行后弹出一个窗口(Panell),要求用户输入候选人的个数(以及当选标

准(若为50%,只需输入50即可)

请辙人投票信息

常输人條議人tn令戦:

门■低]:

f百甘10:

假若依次输入12,50•点击确定后,窗口中会提示输入侯选人的姓名‘候选人的编号是

从小到大依次生成的。

2总迟黑却拧竺哥卑金城

 

候班人1的妬&:

 

 

 

请为候选者投票

 

卩1葺〔冥红窑

■爲刘罰莉

3号:

部斉

4垮住弘倉

4号:

爭陆

J箱:

掘三

U贞号住cb丽

q房:

主並贺

 

 

握立二

品不琴卑

假若共有7名投票人参与投票(每次投票完点击提交即为完成依次投票)

投票过程如下:

投票者1:

1号:

吴红岩

3号:

邵芳

9号:

李丹

11号:

李四

投票者2:

2号:

刘莉莉

8号:

王永霞

投票者3:

3号:

邵芳

4号:

尹聪敏

6号:

王小丽

1号:

吴红岩

2号:

刘莉莉

4号:

尹聪敏

5号:

张三

7号:

李泽

投票者4:

9

»■

李丹

1号:

吴红岩

投票者5:

7

口.

李泽

12号:

王龙贺

3号:

邵芳

10号:

王小慧投票者6:

4号:

尹聪敏

5号:

张三

7号:

李泽

1号:

吴红岩

2号:

刘莉莉

4号:

尹聪敏

5号:

张三

10号住小慧

11号

:

李四

12号:

王龙贺

投票者7:

1号:

吴红岩2号:

刘莉莉3号:

邵芳

4号:

尹聪敏

7号:

李泽

最终的投票结果如下图所示:

最终结吴

3.2功能1

扶茸斤按票人兰选标薜;

整个系统的UML时序图如下图所示:

 

Manager

I

Jserhterface

I

Hain’aph|

Voiejraph|

ResultGraph

1

Candidiate

1

片:

nwwLto害rlnftrf•孔悔

LJEurxhH&鬥匚r帮卉

1

1

1iftUnchFesultAAhi'

1.1i.j

.:

Llil'lM13(1屯

Ite

F

I

C—-

£

1

 

附录:

程序源代码

1、Candidate的详细代码:

publicclassCandidate{

privateStringname〃候选者姓名

privateintid;〃候选者的编号privateintnum〃得票数量

privatedoublevoteResult;//得票率privatebooleanisVote:

//是否中选

Candidate(Stringname,intid){

this.name=name;

this.id=id;

this•num=0;

this.voteResult=0;

this.isVote=false

publicStringgetName(){returnnamepublicvoidsetName(Stringname){this•name=name;

publicintgetld(){

returnid;

}

publicvoidsetld(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;import

java.util.List;

publicclassManager{

publicintcandidates;〃候选人的数量publicintpercentage;//当选标准(百分比)

Listlistc=newArrayList();publicstaticvoidmain(String[]args){

Managerm=newManager();

Userlntefaceui=newUserlnteface(m);

MainGraphmainGraph=newMainGraph(ui);

mainGraph」aunchMainGraph();

candidates;i++)

publicvoidcalculateResult(){doubled;=

for(inti=0;i<

Candidatec{3北);

d=(double)c.getNum()/votersc.setVoteResult((double)Math.round(d10000)/100);if(d>=percentage*0.01){

c.setVote(true);

3、Userinterface类的详细代码:

importjava.awt.Color;

importjava.awt.Container;

importjava.awt.Font;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.util.ArrayList;

importjava.util.lterator;

importjava.util.List;

importiava.util.Vector;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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