java做投票系统

java做投票系统,第1张

java做投票系统,设计程序如下:

import java.util.Set //调用java.util.Set

import java.util.HashSet//调用java.util.HashSet

import java.util.Iterator//调用java.util.Iterator

public class Voter {//定义类

private static final int MAX_COUNT=100 //静态变量,最大投票数,到达此数就停止投票

private static int count//静态变量,投票数

private static Set<Voter>voters=new HashSet<Voter>() //静态变量,存放所有已经投票的选民

private String name //实例变量,投票人姓名

public Voter(String name){this.name=name} //定义名字字符串函数

/**投票*/

public void voteFor(){ //投票函数

if(count==MAX_COUNT){//如果计数结果等于投票人数最大值

System.out.println("投票活动已经结束") //打印投票活动已经结束

return //返回主函数

}

if(voters.contains(this)) //如果已包含投票人姓名

System.out.println(name+":你不允许重复投票!") //打印投票人姓名和你不允许重复投票!

else{//否则

count++ //计数加一

voters.add(this) //调用字符串函数添加投票人姓名

System.out.println(name+":感谢你投票!") //打印投票人姓名和感谢你投票!

}

}

/**打印投票结果*/

public static void printVoteResult(){ //投票结果函数

System.out.println("当前投票数为:"+count) //打印当前投票数为,并且统计人数

System.out.println("参与投票的选民名单如下") //打印参与投票的选民名单如下

for(Voter voter:voters){//遍历voters集合

System.out.println(voter.name) //打印输出投票名称

}

}

public static void main(String args[]) { //主函数

Voter tom=new Voter("Tom") //开辟空间定义元素tom

Voter mike=new Voter("Mike")//开辟空间定义元素mike

Voter jack=new Voter("Jack")//开辟空间定义元素jack

tom.voteFor() //进入tom的投票函数

tom.voteFor() //进入tom的投票函数

mike.voteFor()//进入mike的投票函数

jack.voteFor()//进入jack的投票函数

Voter.printVoteResult() //投票结果打印函数

}

}

两种实现方式:1)sql,2)java

1)sql语句-mysql

SELECT NAME,num,ranking

FROM (SELECT NAME,num,

IF (num =@num ,@ranking ,@ranking :=@ranking + 1)AS ranking,

@num := num

FROM score,

(SELECT @ranking := 0,@num:=-1) tmp

ORDER BY num DESC

)tmp

2) java实现

public static void main(String[] args) {

    //初始化数据

    List<Rank> ranks = Arrays.asList(new Rank("薛之谦", 100l),

            new Rank("陈奕迅", 102l),

            new Rank("田馥甄", 100l),

            new Rank("周杰伦", 99l))

    //按分数降序排序

    ranks.sort((r1, r2) -> r2.getNum().compareTo(r1.getNum()))

    //计算排名

    int ranking = 0

    long num = -1

    for (Rank rank : ranks) {

        rank.setRanking(rank.getNum() == num ? ranking : ++ranking)

        num = rank.getNum()

    }

    //输出

    ranks.forEach(o -> System.out.println(o.getName() + "" + o.getNum() + ":" + o.getRanking()))

}

import java.io.BufferedReader

import java.io.InputStreamReader

public class Vote {

public static void main(String args[]) {

try {

String[] persons = new String[]{"1","2","3"}

Integer[] votes = new Integer[]{0,0,0}

BufferedReader sin = new BufferedReader(new InputStreamReader(

System.in))

String readline

System.out.println("================投票开始===============")

System.out.println("请按1,2,3投票,Enter确认")

System.out.println("按0-->Enter结束投票,公布结果\n")

readline = sin.readLine()// 从系统标准输入读入一字符串

while (!readline.equals("0")) {

String voteStr = readline

if(persons[0].equals(voteStr)){

votes[0] +=1

}else if(persons[1].equals(voteStr)){

votes[1] +=1

}else if(persons[2].equals(voteStr)){

votes[2] +=1

}else{

System.out.println("无效的投票!")

}

readline = sin.readLine()// 从系统标准输入读入一字符串

} // 继续循环

System.out.println("================投票结束===============")

System.out.println("================结果公布===============")

System.out.println(persons[0]+"================"+persons[1]+"==============="+persons[2])

System.out.println(votes[0]+"================"+votes[1]+"==============="+votes[2])

} catch (Exception e) {

System.out.println("Error" + e)// 出错,则打印出错信息

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11736245.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存