投票管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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; // 投票人数量
List
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 List
public List
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() ;//加载显示结果的面板
}