某班级投票选举班干部,班级学生人数为10人,每个学生只能投一票,投票成功提示“感谢你的投票”。若重复投票,提示“请勿重复投票”。当投票总数达到10或者人为结束投票时,统计投票学生人数和投票结果。本案例要求编写一个本案例要求编写一个程序实现学生投票系统。
package xyz;
import java.util.HashSet;
import java.util.Set;
public class text4{
private static int MAX_VOTERS = 10;
private static int count; // 投票次数
private static Set<text4> voterSet = new HashSet<text4>(); // 存放已投过的学生
private String name;
private String advice; // 投票意见
public text4(String name) {
this.name = name;
}
// 投票
public void vote(String advice) {
if (count == MAX_VOTERS) {
System.out.println("投票结束。");
return;
}
if (!voterSet.contains(this)) {
this.advice = advice;
count++;
voterSet.add(this);
System.out.println(name + "已完成投票");
}
else {
System.out.println(name + ", 一人仅能投票一次哦~");
}
}
public static void show() {
System.out.println("当前投票数:" + count);
System.out.println("本次投票结果为:");
for (text4 voter : voterSet) {
System.out.println(voter.name + ", 意见:" + voter.advice);
}
}
public static void main(String[] a) {
text4 james = new text4("xiaoming");
text4 durant = new text4("xiangzhang");
text4 curry = new text4("xiangli");
james.vote("是");
durant.vote("否");
durant.vote("否");
curry.vote("是");
text4.show();
}
}
程序实现学生投票系统。