投票管理系统.docx

上传人:b****3 文档编号:924045 上传时间:2022-10-14 格式:DOCX 页数:19 大小:69.19KB
下载 相关 举报
投票管理系统.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:

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

2.2类声明

本报告采用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;

//

候选人的数量

public

int

percentage;

//

当选标准(百分比)

public

int

voters=0;

//

投票人数量

Listlistc

;//

装载候选者的容器

publicstaticvoidmain(String[]args);

publicvoidcalculateResult();//计算结果

}

2.2.3、窗口的操作类Userlnterface

publicclassUserInterfaceextendsJFrame{

privatestaticfinallongserialVersionUID=1L;

publicContainercontentPanel;//当前界面控制器

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

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

票者数量

publicJPanelp1;//输入信息的面板

publicJPanelp2;//投票面板

publicJPanelp3;//显示投票结果的面板

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

publicListlist_jradiobutton;//投票

publicUserInterface(Managerm);

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

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

}

2.2.4、输入面板类:

MainGraph

publicclassMainGraph{

privateUserInterfaceuserInterface;//与主面板的通信

publicMainGraph(UserlnterfaceuserInterface);//MainGraph的构造函数

publicvoidlaunchMainGraph();//加载主面板

}

2.2.5、投票面板类:

VoteGraph

publicclassVoteGraph{

privateUserInterfaceuserInterface;//与主面板的通信

publicVoteGraph(UserInterfaceuserInterface);//构造函数

publicvoidlaunchVoteGraph();//加载投票面板

}

2.2.6、显示结果类:

ResultGraph

publicclassResultGraph{

privateUserInterfaceuserInterface;//与主面板的通信

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号:

刘莉莉

3号:

邵芳

4号:

尹聪敏

6号:

王小丽

8号:

王永霞

投票者3:

1号:

吴红岩

2号:

刘莉莉

4号:

尹聪敏

5号:

张三

7号:

李泽

9号:

李丹

投票者4:

1号:

吴红岩

7号:

李泽

12号:

王龙贺

投票者5:

3号:

邵芳

4号:

尹聪敏

5号:

张三

7号:

:

李泽

10号

:

王小慧

投票者6:

1号:

吴红岩

2号:

刘莉莉

4号:

尹聪敏

5号:

:

张三

10号

:

王小慧

11号

:

李四

12号:

王龙贺

投票者7:

1号:

吴红岩

2号

:

刘莉莉

3号:

邵芳

4号:

:

尹聪敏

7号:

李泽

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

扶茸斤按票人兰选标薜;

3.2功能1

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

 

片:

nwwLto書rlnftrf'孔悔

L_jEurxhH&鬥匚r帮卉

1

1

1iftUnchFesult^^hi'

1.11.j

.:

Llil'lM13(1屯

£

1

F

C

<■

 

 

附录:

程序源代码

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(){returnname

publicvoidsetName(Stringname){

this.name=name;

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;//当选标准(百分比)

Listlistc=newArrayList();

publicstaticvoidmain(String[]args){

Managerm=newManager();

UserIntefaceui=newUserInteface(m);

MainG

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

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

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

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