某班级投票竞选班干部,班级学生人数为10人,每个学生只能投一票,投票成功提示“感谢你的投票”。若重复投票,提示“请勿重复投票”。当投票总数达到10或者主观结束投票时,统计投票学生人数和投票结果。本案例要求编程一个程序实现学生投票。
先做一个功能类,投票的功能:
package 学生投票系统;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class voter {
//定义最大投票数
private static int MAX_VOTER=100;
private static int cont;//投票的次数
private static Set<voter> voter=new HashSet<voter>();//这个是后面的知识,用来存放透过飘的学生
private String name;
private String advice;//存放投票意见
public voter(String name) {
super();
this.name = name;
}
//投票功能
public void toupiao(String advice) {
if(cont==MAX_VOTER) {
System.out.println("投票意见达到最大");
return;
}
if(!voter.contains(this)) {
this.advice=advice;
cont++;
//把这个用户存入voter里面
voter.add(this);
System.out.println(name + "已完成投票");
}else{
System.out.println("请不要重复投票 ");
}
}
public static void chakan() {
System.out.println("当前的投票数:"+cont);
System.out.println("本次投票结果:");
//这里是迭代器循环,后面我会给链接学习迭代器循环的。
for (voter voter : voter) {
System.out.println(voter.name + ", 意见:" + voter.advice);
}
}
}
接下来就是测试类:
package 学生投票系统;
public class ceshi {
public static void main(String[] args) {
// TODO Auto-generated method stub
voter str=new voter("汤姆");
voter st1=new voter("杰瑞");
voter str2=new voter("汤姆2");
str.toupiao("是");
st1.toupiao("是");
str.toupiao("是");
str2.toupiao("否");
str.chakan();
}
}
那些迭代器循环和数组的在后面的内容会讲解。
迭代器循环的案例: