投票管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

投票管理系统

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、UserInterface;

4、MainGraph;

5、VoteGraph;

6、ResultGraph。

2.2.1、候选者类:Candidate

publicclass Candidate {

private String name;//候选者姓名

privateint id; //候选者的编号

privateint num; // 得票数量

privatedouble voteResult; //得票率

privateboolean isVote; //是否中选

Candidate(String name, int id) ;//Candidate 的构造方法

public String getName() ;

publicvoid setName(String name) ;

publicint getId() ;

publicvoid setId(int id) ;

publicint getNum() ;

publicvoid setNum(int num) ;

publicdouble getVoteResult() ;

publicvoid setVoteResult(double voteResult) ;

publicboolean isVote();

publicvoid setVote(boolean isVote) ;

}

2.2.2、管理类:Manager类

publicclass Manager {

publicint candidates; // 候选人的数量

publicint percentage; // 当选标准(百分比)

publicint voters = 0; // 投票人数量

Listlistc ;// 装载候选者的容器

publicstaticvoid main(String[] args) ;

publicvoid calculateResult() ;// 计算结果

}

2.2.3、窗口的操作类UserInterface

publicclass UserInterface extends JFrame {

privatestaticfinallong serialVersionUID = 1L;

public Container contentPanel; // 当前界面控制器

public Manager manager; //利于数据通信,主要包括:候选人数量、当选标准、投票者数量

public JPanel p1; //输入信息的面板

public JPanel p2; //投票面板

public JPanel p3; //显示投票结果的面板

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

public Listlist_jradiobutton ;//投票

public UserInterface(Manager m) ;

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

publicvoid addCandi(int num);//panel1输入侯选者姓名完成后,生成候选者对象

}

2.2.4、输入面板类:MainGraph

publicclass MainGraph{

private UserInterface userInterface; //与主面板的通信

public MainGraph(UserInterfaceuserInterface) ;//MainGraph的构造函数

publicvoid launchMainGraph() ;//加载主面板

}

2.2.5、投票面板类:VoteGraph

publicclass VoteGraph {

private UserInterface userInterface;//与主面板的通信

public VoteGraph(UserInterfaceuserInterface) ;//构造函数

publicvoid launchVoteGraph();//加载投票面板

}

2.2.6、显示结果类:ResultGraph

publicclass ResultGraph {

private UserInterface userInterface;//与主面板的通信

public ResultGraph(UserInterfaceuserInterface) ;//构造函数

publicvoid launchResultGraph() ;//加载显示结果的面板

}

相关文档
最新文档