某班级投票竞选班干部,班级学生人数为10人,每个学生只能投一票,投票成功提示“感谢你的投票”。若重复投票,提示“请勿重复投票”。当投票总数达到10或者主观结束投票时,统计投票学生人数和投票结果。本案例要求编程一个程序实现学生投票。用eclipse软件jaca写
时间: 2024-09-23 14:08:25 浏览: 86
卡通自我介绍PPT模板
为了编写这个简单的班级投票程序,你可以创建一个Java类并使用ArrayList来存储学生的投票信息。这里是一个基本的示例,展示如何实现这个功能:
```java
import java.util.ArrayList;
import java.util.List;
public class ClassVote {
private List<String> voters = new ArrayList<>();
private int voteCount = 0;
private String[] candidates; // 假设候选人有固定数量
public void start投票(String candidate) {
if (voters.contains(candidate)) {
System.out.println("请勿重复投票");
} else {
voters.add(candidate);
voteCount++;
if (voteCount >= 10 || isEndOfVoting()) {
System.out.println("投票已结束");
printResults();
} else {
System.out.println("感谢你的投票");
}
}
}
private boolean isEndOfVoting() {
// 这里可以根据实际情况判断是否应该结束投票,例如设定一个截止时间
// 如果需要基于投票数结束,直接返回 voteCount == 10 即可
return voteCount >= 10;
}
private void printResults() {
System.out.println("投票结果:");
for (int i = 0; i < candidates.length; i++) {
System.out.println(candidates[i] + " 票数:" + countVotes(candidates[i]));
}
}
private int countVotes(String candidate) {
return voters.stream().filter(name -> name.equals(candidate)).count();
}
public static void main(String[] args) {
ClassVote vote = new ClassVote();
// 假设候选人数组是静态的
String[] candidates = {"候选人A", "候选人B", "候选人C"};
// 调用start投票方法开始投票
vote.start投票("候选人A"); // 示例投票
}
}
```
在这个例子中,`ClassVote` 类包含了投票过程的核心逻辑,包括添加投票者、检查是否重复投票、判断投票是否结束以及打印结果。在`main`函数中,我们创建了一个实例并开始了投票。
阅读全文