java投票系统

原创 2015年11月20日 19:37:29
//投票方法
import java.util.Arrays;
import java.util.Scanner;

/**
 * @author 清澈见底的疯子
 *
 */
public class SingVote{  
	private Singer sin[] = {new Singer("张学友",0,0),new Singer("刘德华",1,0),  
			new Singer("小刚",2,0),new Singer("孙燕姿",3,0),new Singer("梁静茹",4,0),
			new Singer("王杰",5,0),new Singer("刘若英",6,0)};
    private boolean flag = true; 
    static class Singer implements Comparable<Singer> {
    	private String Name;
    	private int Num;
    	private int Vote;
    	public Singer(String name, int num, int vote) {
    		super();
    		Name = name;
    		Num = num;
    		Vote = vote;
    	}
    	public String getName() {
    		return Name;
    	}
    	public void setName(String name) {
    		Name = name;
    	}
    	public int getNum() {
    		return Num;
    	}
    	public void setNum(int num) {
    		Num = num;
    	}
    	public int getVote() {
    		return Vote;
    	}
    	public void setVote(int vote) {
    		Vote = vote;
    	}
    	@Override
    	public int compareTo(Singer s) {
    		return s.Vote-this.Vote;
    	}
    }   
    public void ff(){
    	while(true){
    	System.out.println("投票开始:");
    	System.out.println("输入方框数字编号投票给歌手,输入.结束");
    	int count = 0;
        while(flag){
        	System.out.print("张学友[0],刘德华[1],小刚[2],孙燕姿[3],梁静茹[4],王杰[5],刘若英[6])");
            this.vote(); 
            count++;
        }  
        this.printInfo();  
        this.getResult();
        int sum = 0;
        sum = this.sin[0].getVote()+this.sin[1].getVote()+this.sin[2].getVote()+this.sin[3].getVote()+
        	  this.sin[4].getVote()+this.sin[5].getVote()+this.sin[6].getVote();
        System.out.println();
        System.out.println("弃权票数:"+(count-sum-1));
        System.out.println("总票数:"+sum);
        System.out.println("继续第二轮投票?(y/n)");
        @SuppressWarnings("resource")
		Scanner scan = new Scanner(System.in);
        String y = scan.nextLine();
        if(y.equals("n")){
        	break;
        }
        flag = true;
    	}
    }
    private void getResult(){  
    	System.out.print("\n");
        Arrays.sort(sin);
        System.out.println("歌手票数排行榜:");
        System.out.println("==========");
        for(int i=0;i<sin.length;i++){
        System.out.println(this.sin[i].getName()+"\t"+this.sin[i].getVote());
        }
        System.out.println("投票最终结果:" + this.sin[0].getName()+",最后以"+this.sin[0].getVote()+"票获奖!");
    }  
    public void vote(){ 
        InputData input = new InputData();
        String num = input.getString("?");
        switch(num){  
            case ".":{  
                this.flag = false;  
                System.out.println("投票结束,结果是:"+"\n");
                System.out.println("歌手"+"\t"+"得票数");
                System.out.println("==="+"\t"+"====");
                break ;  
            }  
            case "0":{  
                this.sin[0].setVote(this.sin[0].getVote() + 1);  
                break ;  
            }  
            case "1":{  
                this.sin[1].setVote(this.sin[1].getVote() + 1);  
                break ;  
            }  
            case "2":{  
                this.sin[2].setVote(this.sin[2].getVote() + 1);  
                break ;  
            }  
            case "3":{  
                this.sin[3].setVote(this.sin[3].getVote() + 1);  
                break ;  
            } 
            case "4":{  
                this.sin[4].setVote(this.sin[4].getVote() + 1);  
                break ;  
            }  
            case "5":{  
                this.sin[5].setVote(this.sin[5].getVote() + 1);  
                break ;  
            }  
            case "6":{  
                this.sin[6].setVote(this.sin[6].getVote() + 1);  
                break ;  
            }  
        } 
    }  
    public void printInfo(){      
        for(int i=0;i<sin.length;i++){  
            System.out.println(this.sin[i].getName()+"\t"+this.sin[i].getVote()); 
        }  
    }
} 





//定义输入类
/**
 * @author 清澈见底的疯子
 *
 */
import java.io.BufferedReader;  
import java.io.InputStreamReader;  
import java.io.IOException;  
public class InputData{
	private BufferedReader buf = null;
	public InputData(){
		this.buf = new BufferedReader(new InputStreamReader(System.in));
	}
	public String getString(String info){
		String t = null;
		System.out.print(info);
		try{
			t = this.buf.readLine();
		}catch(IOException e){
			e.printStackTrace();
		}
		return t;
	}
}




//main方法
/**
 * @author 清澈见底的疯子
 *
 */
public class VoteStart{  
    public static void main(String args[]){  
        SingVote yy = new SingVote() ; 
        yy.ff();
    }  
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

简单的JavaWeb投票系统

目的帮她完成JavaWeb课程设计,也做为练手的小项目;功能1、可以实现在个人登陆,在线投票,票数统计的功能; 2、规定每个投票者每天只能投一票,并要求登录成功后才可以投票;分块1、Login类:实...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

JAVA WEB项目开发案例精粹之二,投票系统

系统架构 应用服务器: Servlet容器:Tomcat 数据库服务器:MySQL 第三方工具(插件)应用 图表工具:JFreeChart 学知识点 使用jsp+struts2+...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Java+Servlet投票系统

Java+Servlet投票系统 源代码下载地址:http://www.zuidaima.com/share/1550463722228736.htm

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Java基础之简单投票程序

/*======================================= * 题目: * 1)用面向对象方法,编写学生类Student, * 将候选人如姓名、代号、票数保存到Stude...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java投票系统
举报原因:
原因补充:

(最多只允许输入30个字)