Java 某班级投票竞选班干部,班级学生人数为100人,每个学生只能投一票。 本任务要求,编程实现一个投票程序,每个学生只能投一次票,投票成功提示“感谢你的投票”,若重复投票,提示“请勿重复投票”。当投票总数达到100时或者主观结束投票时,同时统计投票学生人数和投票结果。
时间: 2024-10-15 16:16:44 浏览: 52
在Java中,我们可以使用HashMap或者ArrayList等数据结构来实现这个简单的投票程序。这里我会提供一个基于HashMap的简单示例,因为我们需要追踪每个学生的投票情况。假设我们有一个`Student`类,包含姓名和ID:
```java
import java.util.*;
class Student {
String name;
int id;
// constructor, getters and setters...
}
public class VotingProgram {
private Map<Integer, String> votes; // 存储学生ID和投票人的映射
private int totalVotes = 0;
private boolean votingEnded = false;
public VotingProgram() {
votes = new HashMap<>();
}
public void vote(int studentId) {
if (votes.containsKey(studentId)) {
System.out.println("请勿重复投票");
} else {
votes.put(studentId, "Student " + studentId);
totalVotes++;
if (totalVotes == 100 || isVotingFinished()) {
printResults();
votingEnded = true;
} else {
System.out.println("感谢你的投票");
}
}
}
private boolean isVotingFinished() {
return totalVotes >= 100 || someConditionToEndVoting(); // 自定义条件停止投票
}
private void printResults() {
System.out.println("投票学生人数:" + totalVotes);
for (Map.Entry<Integer, String> entry : votes.entrySet()) {
System.out.println("学生" + entry.getKey() + "投给了:" + entry.getValue());
}
}
}
```
在这个程序中,用户可以通过创建`VotingProgram`对象并调用`vote`方法来进行投票。当投票总数达到100或者满足自定义的结束投票条件时,会打印出投票结果并结束投票。
阅读全文