用Java实现某班级共10人, 每个学生只能投一 投票成功提示“感谢你的投票” 若重复投票,提示“请勿重复投票” 当投票人数到达10或人为结束投票时,统计投票学生人数和投票结果
时间: 2024-05-12 18:14:18 浏览: 47
可以使用Java中的HashMap来实现投票系统。以下是一个简单的实现:
```java
import java.util.HashMap;
import java.util.Scanner;
public class VoteSystem {
public static void main(String[] args) {
HashMap<String, Boolean> voted = new HashMap<String, Boolean>();
int count = 0;
Scanner sc = new Scanner(System.in);
boolean isVoting = true;
while (isVoting && count < 10) {
System.out.println("请输入你的名字进行投票:");
String name = sc.nextLine();
if (voted.containsKey(name)) {
System.out.println("请勿重复投票!");
} else {
voted.put(name, true);
count++;
System.out.println("感谢你的投票!");
}
System.out.println("当前已有" + count + "人投票。是否继续投票?(y/n)");
String choice = sc.nextLine();
if (choice.equalsIgnoreCase("n")) {
isVoting = false;
}
}
System.out.println("投票结束,共有" + count + "人参与投票。");
int yesCount = 0;
for (Boolean vote : voted.values()) {
if (vote) {
yesCount++;
}
}
int noCount = count - yesCount;
System.out.println("投票结果:赞成 " + yesCount + " 票,反对 " + noCount + " 票。");
}
}
```
上述代码中,使用了HashMap来存储学生的投票情况,键为学生姓名,值为布尔类型,表示该学生是否已经投票。每当有一名学生投票时,首先查看该学生是否已经投过票,如果已经投过,则提示“请勿重复投票”;如果没有投过,则将该学生的姓名添加到HashMap中,并将其值设为true,表示该学生已经投过票。同时,投票人数加1,打印“感谢你的投票!”的提示信息。每投一次票,都会询问是否继续投票,当投票人数达到10人或者手动结束投票时,循环结束。最后统计投票结果,遍历HashMap中的值,计算赞成票和反对票的数量,最终输出投票结果。
阅读全文