Java实例---简单的投票系统

代码分析

InputData.java

 1 package vote;
 2
 3 import java.io.BufferedReader;
 4 import java.io.IOException;
 5 import java.io.InputStreamReader;
 6
 7 public class InputData {
 8
 9     private BufferedReader buf ;
10
11     public InputData()
12     {
13         this.buf = new BufferedReader(new InputStreamReader(System.in));
14     }
15
16     public String getString(String info)
17     {
18         String str = null;
19         System.out.println(info);
20         try {
21             str = this.buf.readLine();
22         } catch (IOException e) {
23             // TODO 自动生成的 catch 块
24             e.printStackTrace();
25         }
26         return str;
27
28     }
29
30     public int getInt(String info,String error)
31     {
32         int temp = 0;
33         String str = null;
34         str = this.getString(info);
35         if(str.matches("\\d+")){
36             temp = Integer.parseInt(str);
37         }else{
38             System.out.println(error);
39         }
40
41         return temp;
42     }
43
44
45 }

Person.java

 1 package vote;
 2
 3 public class Person implements Comparable<Person>{
 4     private String name;
 5     private int stu_Id;
 6
 7     public Person(String name, int stu_Id, int voteNum) {
 8         super();
 9         this.name = name;
10         this.stu_Id = stu_Id;
11         this.voteNum = voteNum;
12     }
13
14     public String getName() {
15         return name;
16     }
17     public void setName(String name) {
18         this.name = name;
19     }
20     public int getStu_Id() {
21         return stu_Id;
22     }
23     public void setStu_Id(int stu_Id) {
24         this.stu_Id = stu_Id;
25     }
26     public int getVoteNum() {
27         return voteNum;
28     }
29     public void setVoteNum(int voteNum) {
30         this.voteNum = voteNum;
31     }
32     private int  voteNum;
33
34     @Override
35     public int compareTo(Person o) {
36         // TODO 自动生成的方法存根
37         if(this.getVoteNum() > o.getVoteNum())
38         {
39             return -1;
40         }else if(this.getVoteNum() < o.getVoteNum())
41         {
42             return 1;
43         }else
44         {
45             return 0;
46         }
47     }
48 }

VoteOperate.java

  1 package vote;
  2
  3 import java.io.File;
  4 import java.util.Arrays;
  5
  6 public class VoteOperate {
  7     private Person[] per = {new Person("小米",001,0),new Person("大米",002,0), new Person("玉米",003,0),
  8         new Person("稀饭",004,0),new Person("刘能",005,0),new Person("逼",006,0)};
  9
 10     private InputData input ;
 11     private boolean flag = true;
 12     private int sum;
 13     private int errorVote;
 14
 15     public VoteOperate()
 16     {
 17         this.input =  new InputData();
 18         while(flag)
 19         {
 20             ++sum;
 21             this.voteForCandidate();
 22         }
 23         this.printInfo();
 24         this.getResulet();
 25     }
 26
 27     public void voteForCandidate()
 28     {
 29         int temp = 0;
 30         temp = input.getInt("请输入候选人编号(0表示投票结束)", "投票只能是数字,范围0-" + per.length);
 31         switch (temp) {
 32         case 1:
 33         {
 34             this.per[0].setVoteNum(this.per[0].getVoteNum() + 1);
 35             break;
 36         }
 37
 38         case 2:
 39         {
 40             this.per[1].setVoteNum(this.per[1].getVoteNum() + 1);
 41             break;
 42         }
 43
 44         case 3:
 45         {
 46             this.per[2].setVoteNum(this.per[2].getVoteNum() + 1);
 47             break;
 48         }
 49
 50         case 4:
 51         {
 52             this.per[3].setVoteNum(this.per[3].getVoteNum() + 1);
 53             break;
 54         }
 55
 56         case 5:
 57         {
 58             this.per[4].setVoteNum(this.per[4].getVoteNum() + 1);
 59             break;
 60         }
 61         case 6:
 62         {
 63             this.per[5].setVoteNum(this.per[5].getVoteNum() + 1);
 64             break;
 65         }
 66         case 0:
 67         {
 68             System.out.println("退出系统");
 69             this.flag = false;
 70             break;
 71         }
 72         default:{
 73             System.out.println("请重新输入一个数字:");
 74             this.errorVote++;
 75         }
 76         }
 77     }
 78
 79     //打印候选人信息:
 80         public void printInfo(){
 81             for(int i=0;i<per.length;i++){
 82                 System.out.println(this.per[i].getStu_Id() + ":"
 83                     + this.per[i].getName() + "【"+this.per[i].getVoteNum()+"】") ;
 84             }
 85         }
 86
 87     //获取结果
 88     public void getResulet(){
 89         Arrays.sort(per);
 90         if ((sum - 1 )==0)
 91         {
 92             System.out.println("投票故障...");
 93         }
 94         else
 95         {
 96             System.out.println("投票最终结果:" + "\n共投出:" + ( this.sum  - 1 )+ "票,其中,错误投票 : " + this.errorVote + "票,有效票" + ( this.sum  - 1 - this.errorVote) + "\n"
 97            + this.per[0].getName()+"同学,最后以"+this.per[0].getVoteNum()+"票当选班长!") ;
 98         }
 99     };
100
101 }

Test.java

1 package vote;
2
3 public class Test {
4     public static void main(String[] args) {
5         new VoteOperate();
6     }
7 }

效果截图

源码下载

附:

https://files.cnblogs.com/files/ftl1012/%E7%AE%80%E5%8D%95%E7%9A%84%E6%8A%95%E7%A5%A8%E7%B3%BB%E7%BB%9F-%E6%BA%90%E7%A0%81.zip

原文地址:https://www.cnblogs.com/ftl1012/p/9326283.html

时间: 2024-10-02 13:10:29

Java实例---简单的投票系统的相关文章

Django + mysql 快速搭建简单web投票系统

了解学习pyhton web的简单demo 1. 安装Django, 安装pyhton 自行百度 2. 执行命令创建project  django-admin.py startproject mysite 3. 执行命令创建app python manage.py startapp polls 目录结构:   polls/templates/polls 目录  和  polls/admin.py 都是自己手动创建的. 4. 编辑setting.py 添加app  polls  同时打开admin

Java实例---简单的宠物管理系统

代码分析 Cat.java 1 package com.ftl.petshop; 2 3 class Cat implements Pet 4 { 5 private String name; 6 private String color; 7 private int age; 8 public Cat(String name, String color, int age) 9 { 10 this.name = name; 11 this.color = color; 12 this.age =

Java实例---简单的上课管理系统

源码分析 Course.java 1 package com.ftl.many2many; 2 3 import java.util.*; 4 5 public class Course 6 { 7 private int credit; 8 private String name; 9 private List<Student> allStudent; 10 public int getCredit() 11 { 12 return credit; 13 } 14 public void s

Java实例---简单的数据库操作

源码分析 DAOFactory.java 1 package cn.ftl.mysql ; 2 public class DAOFactory { 3 public static IEmpDAO getIEmpDAOInstance() throws Exception{ 4 return new EmpDAOProxy() ; 5 } 6 } DatabaseConnection.java 1 package cn.ftl.mysql ; 2 import java.sql.Connectio

Python实例---简单的选课系统

要求 思路: 构造方法传递过去学校名称,同时利用UUID创建一个随机字符串,用这个字符串来作为要写入的文件名 利用类的__str__方法来实现类对象接口返回学校名称的操作 利用pickle的dumps和loads实现文件的读写 利用get_all静态方法实现所有的文件的遍历,创建一个列表来接受,利用列表的append方法来添加文件 角色的关联利用ID来进行标示,确保唯一性 更多参考 原文地址:https://www.cnblogs.com/ftl1012/p/9383697.html

Java+Servlet投票系统

原文:Java+Servlet投票系统 源代码下载地址:http://www.zuidaima.com/share/1550463722228736.htm 简单的投票系统 采用技术 1. Java 2. Servlet 3. MySQL 4. JQuery 经确认,该分享的db文件缺少table,我联系作者提供吧,大家注意. 另外确认jar包 http://www.zuidaima.com/jar/search/servlet-api-2.4.htm

Django快速开发投票系统

使用Django搭建简单的投票系统:这个是官网的教程:https://docs.djangoproject.com/en/2.0/intro/tutorial01/ 在Run manage.py Task中新建app:startapp polls为了管理方便,我们新建apps文件夹,并将polls文件夹拖到apps中第1部分:构建模型新建polls的model from django.db import models # Create your models here. class Questi

java web 程序---投票系统

1.这里会连接数据库--JDBC的学习实例 一共有3个页面. 2.第一个页面是一个form表单,第二个页面是处理数据,第三个页面是显示页面 vote.jsp ? 1 2 3 4 5 6 7 8 9 10 11 12 <body bgcolor="green">    选择你要投票的人:    <form action="vote_end.jsp">        <input type="radio" name=&q

主题:Java WebService 简单实例

链接地址:主题:Java WebService 简单实例    http://www.iteye.com/topic/1135747 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要的重复操作. 一.准备工作(以下为本实例使用工具) 1.MyEclipse10.7.1 2.JDK 1.6.0_22 二.创建服务端 1.创建[Web Service Project],命名为[TheService].   2.创建[Class]类,命名为[ServiceHello],位于[com.