Java实例---简单的投票系统代码分析
InputData.java
1package vote;
2
3import java.io.BufferedReader;
4import java.io.IOException;
5import java.io.InputStreamReader;
6
7public class InputData {
8
9private BufferedReader buf ;
10
11public InputData()
12 {
13this.buf = new BufferedReader(new InputStreamReader(System.in));
14 }
15
16public String getString(String info)
17 {
18 String str = null;
19 System.out.println(info);
20try {
21 str = adLine();
22 } catch (IOException e) {
23// TODO ⾃动⽣成的 catch 块
24 e.printStackTrace();
25 }
26return str;
27
28 }
29
30public int getInt(String info,String error)
31 {
32int temp = 0;
33 String str = null;
34 str = String(info);
35if(str.matches("\\d+")){
36 temp = Integer.parInt(str);
37 }el{
38 System.out.println(error);
39 }
40
41return temp;
42 }
43
44
45 }
View Code
Person.java
1package vote;
issue2
3public class Person implements Comparable<Person>{
4private String name;
5private int stu_Id;
6
7public Person(String name, int stu_Id, int voteNum) {
8super();
9this.name = name;
10this.stu_Id = stu_Id;
11this.voteNum = voteNum;
12 }
13
14public String getName() {
15return name;
16 }
17public void tName(String name) {
18this.name = name;
19 }
20public int getStu_Id() {
21return stu_Id;
22 }
23public void tStu_Id(int stu_Id) {
24this.stu_Id = stu_Id;
25 }
26public int getVoteNum() {
27return voteNum;
28 }
29public void tVoteNum(int voteNum) {
30this.voteNum = voteNum;
31 }
32private int voteNum;
33
34 @Override
35public int compareTo(Person o) {
36// TODO ⾃动⽣成的⽅法存根
VoteNum() > o.getVoteNum())
38 {
39return -1;
40 }el VoteNum() < o.getVoteNum())
41 {
42return 1;
43 }el
44 {
45return 0;
46 }
47 }
48 }
View Code
VoteOperate.java
1package vote;
2
灰姑娘的玻璃手机百度影音
3import java.io.File;
4import java.util.Arrays;
5
6public class VoteOperate {
7private Person[] per = {new Person("⼩⽶",001,0),new Person("⼤⽶",002,0), new Person("⽟⽶",003,0), 8new Person("稀饭",004,0),new Person("刘能",005,0),new Person("逼",006,0)};
9
10private InputData input ;
11private boolean flag = true;
12private int sum;
13private int errorVote;
14
15public VoteOperate()
16 {
17this.input = new InputData();
18while(flag)
19 {
20 ++sum;
somerhalder
21this.voteForCandidate();
22 }
23this.printInfo();
25 }
26
27public void voteForCandidate()
28 {
29int temp = 0;
30 temp = Int("请输⼊候选⼈编号(0表⽰投票结束)", "投票只能是数字,范围0-" + per.length); 31switch (temp) {
32ca 1:
33 {
34this.per[0].tVoteNum(this.per[0].getVoteNum() + 1);
35break;
36 }
37
38ca 2:
39 {
40this.per[1].tVoteNum(this.per[1].getVoteNum() + 1);
41break;
42 }postmaster
43四分之三英语
44ca 3:
45 {
46this.per[2].tVoteNum(this.per[2].getVoteNum() + 1);
47break;
48 }
49
50ca 4:
51 {
52this.per[3].tVoteNum(this.per[3].getVoteNum() + 1);
53break;
54 }
55
56ca 5:
57 {
58this.per[4].tVoteNum(this.per[4].getVoteNum() + 1);
59break;
60 }
61ca 6:
62 {
63this.per[5].tVoteNum(this.per[5].getVoteNum() + 1);
64break;
65 }
裙子用英语怎么说
66ca 0:
67 {
68 System.out.println("退出系统");dlist
69this.flag = fal;
70break;
71 }
72default:{
73 System.out.println("请重新输⼊⼀个数字:");
75 }
76 }
77 }
78
79//打印候选⼈信息:
80public void printInfo(){
81for(int i=0;i<per.length;i++){hauber
82 System.out.println(this.per[i].getStu_Id() + ":"
83 + this.per[i].getName() + "【"+this.per[i].getVoteNum()+"】") ;
84 }
85 }
86
87//获取结果
88public void getResulet(){
89 Arrays.sort(per);
90if ((sum - 1 )==0)
91 {
92 System.out.println("投票故障...");
coca cola93 }
94el
95 {
96 System.out.println("投票最终结果:" + "\n共投出:" + ( this.sum - 1 )+ "票,其中,错误投票 : " + Vote + "票,有效票" + ( this.sum - 1 - Vote) + "\n"
97 + this.per[0].getName()+"同学,最后以"+this.per[0].getVoteNum()+"票当选班长!") ;
98 }
99 };
100
101 }
View Code
Test.java
1package vote;
2
3public class Test {
4public static void main(String[] args) {
5new VoteOperate();
6 }
7 }
View Code
效果截图
源码下载fd