通过java编写代码 某班级投票选举班干部,班级学生人数为10人,每个学生只能投一票,投票成功提示"感谢你的投票"。若重复投票,提示"请勿重复投票"。当投票总数达到10或者人为结束投票时,统计投票学生人数和投票结果。本案例要求编写一个程序实现学生投票系统。
时间: 2024-10-24 20:03:12 浏览: 35
基于单片机的班级投票器.doc
在Java中,你可以使用ArrayList来存储学生对象,并创建一个计数器来跟踪投票次数。下面是一个简单的伪代码示例来实现这个投票系统:
```java
import java.util.ArrayList;
import java.util.HashMap;
class Student {
String name;
boolean voted; // 标记学生是否已经投票
public Student(String name) {
this.name = name;
this.voted = false;
}
// 投票方法
void vote() {
if (!voted) {
voted = true;
System.out.println("感谢你的投票");
votesCount++; // 增加投票次数
} else {
System.out.println("请勿重复投票");
}
}
}
class VotingSystem {
private ArrayList<Student> students;
private int votesCount = 0;
private HashMap<String, Integer> voteResults; // 存储每个学生的投票结果
public VotingSystem(int studentNum) {
students = new ArrayList<>();
for (int i = 0; i < studentNum; i++) {
students.add(new Student("Student " + (i+1)));
}
voteResults = new HashMap<>();
}
// 开始投票并统计结果
public void startVoting() {
while (votesCount < 10 && !isVotingEnded()) {
for (Student student : students) {
student.vote();
}
}
// 统计投票学生人数和投票结果
for (Student student : students) {
if (student.voted) {
voteResults.put(student.name, voteResults.getOrDefault(student.name, 0) + 1);
}
}
printResults();
}
private boolean isVotingEnded() { // 添加条件判断,比如人工结束投票等
// 这里可以添加实际的人工终止规则,例如用户输入特定值
return /* 条件 */;
}
private void printResults() {
System.out.println("投票学生人数:" + students.size());
voteResults.forEach((name, count) -> System.out.println(name + "得到 " + count + " 票"));
}
}
// 示例用法
public static void main(String[] args) {
VotingSystem system = new VotingSystem(10);
system.startVoting();
}
```
阅读全文