1、本报告采用java编程语言,一共构造了六个类: 1、Can didate; 2、Ma nager; 3、Userlnterface ; 4、MainGraph ; 5、VoteGraph ; 6、ResultGraph。2.2.1、候选者类:Can didatepublic class Can didate private String name 候选者姓名private int id ; /候选者的编号private int num 得票数量private double voteResult ; / 得票率private boolean isVote ; / 是否中选Candidate(St
2、ring name, int id) ; /Candidate 的构造方法public String getName();public void setName(String name);public int getId();public void setId( int id);public int getNum();public void setNum( int num);public double getVoteResult();public void setVoteResult( double voteResult);public boolean isVote();public void
3、 setVote( boolean isVote);2.2.2、管理类:Manager 类 public class Manager publicintcan didates ;/候选人的数量percentage ;当选标准(百分比)voters = 0;投票人数量List listc;装载候选者的容器public static void main(String args);public void calculateResult() ; / 计算结果2.2.3、 窗口的操作类 Userl nterfacepublic class UserInterface extends JFrame pri
4、vate static final long serialVersionUID = 1L;public Contain er conten tPa nel ; / 当前界面控制器public Manager manager; /利于数据通信,主要包括:候选人数量、当选标准、投票者数量public JPanel p1; /输入信息的面板public JPanel p2; / 投票面板public JPanel p3; /显示投票结果的面板public List list_textfield ; / 装载候选人姓名的容器JRadioButton list_jradiobutton ; / 投票pu
5、blic UserI nterface(Ma nager m);public void update() ; /窗口中增删组建后立即更新public void addCandi( int num); /panel1 输入侯选者姓名完成后,生成候选者对象2.2.4、 输入面板类: MainGraphpublic class MainGraphprivate UserI nterface userI nterface ;/与主面板的通信public MainGraph(Userlnterface userInterface) ; /MainGraph 的构造函数public void launch
6、MainGraph() ; / 加载主面板2.2.5、 投票面板类: VoteGraphpublic class VoteGraph public VoteGraph(UserInterface userInterface) ;/构造函数public void launchVoteGraph() ; / 加载投票面板2.2.6、 显示结果类: ResultGraphpublic class ResultGraph public ResultGraph(UserInterface userInterface) ; / 构造函数public void launchResultGraph() ; /
7、 加载显示结果的面板3功能实现3.1窗口显示点击运行后弹出一个窗口( Pan ell),要求用户输入候选人的个数( 1-12)以及当选标准(若为50%,只需输入50即可)请辙人投票信息常输人條議人tn令戟:门低:f 百甘IO :1假若依次输入12,50.点击确定后,窗口中会提示输入侯选人的姓名, 候选人的编号是从小到大依次生成的。2 总迟黑却拧竺哥卑金城请输人投票信息碩确人慣谐人跑:讳锚吁進标灌百请为候选者投票卩_: 1葺冥红窑-爲刘罰莉O鸥:工眾直匚3号:部斉C膚:車丹|C 4号:爭陆C 4垮住弘倉J箱:掘三C 号:李回U贞号住cb丽二q房:主並贺握立二| 匚品不琴卑假若共有7名投票人参与投
8、票(每次投票完点击提交即为完成依次投票) 投票过程如下:投票者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时序图如下图所示:片:nww Lto書rlnftrf孔悔L_jEurxhH&鬥匚r帮卉1 iftUnchFesulthi1.11.j.:Llill M 13(1 屯 FC 附录:程序源代码1、Can didate
9、的详细代码: /候选者的编号 private int num 得票数量 / 得票率 private boolean isVote ;Candidate(String name, int id) this . name= name;this . id = id;this . num= 0;this . voteResult = 0;this . isVote = falsepublic String getName() return n amepublic void setName(String name) public int getId() return id ;public void se
10、tId( int id) this . id = id;public int getNum() return num;public void setNum( int num) this . num= num;public double getVoteResult() return voteResult ;public void setVoteResult( double voteResult) this . voteResult = voteResult;public boolean isVote() return isVote ;public void setVote( boolean is
11、Vote) this . isVote = isVote;public String toString() return this . name;2、 Manager 类的详细代码 import java.util.ArrayList; import java.util.List;public class Manager public int candidates ; / 候选人的数量 public int percentage ; / 当选标准(百分比) listc = new ArrayList();public static void main(String args) Man ager m = new Man ager();UserI nteface ui = new UserI nteface(m);Mai nG
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1