国际新闻网 帮助中心

国际新闻网

欢迎访问: 国际新闻网

热门关键词: 朱桂华  廖松杰寒  暴力    郭建德

《JAVA与模式》之状态模式

来源:国际新闻网 作者:admin 人气: 发布时间:2015-10-28

public class VoteManager { VoteState state = null; Map<String,String> mapVote = new HashMap<String,String>(); Map<String,Integer> mapVoteCount = new HashMap<String,Integer>(); /** * 获取用户投票结果的Map */ public Map<String, String> getMapVote() { return mapVote; } /** * 投票 * @param user 投票人 * @param voteItem 投票的选项 vote(String user,String voteItem){ //1.为该用户增加投票次数 //从记录中取出该用户已有的投票次数 Integer oldVoteCount = mapVoteCount.get(user); if(oldVoteCount == null){ oldVoteCount = 0; } oldVoteCount += 1; mapVoteCount.put(user, oldVoteCount); //2.判断该用户的投票类型,就相当于判断对应的状态 (oldVoteCount == 1){ state = new NormalVoteState(); } else if(oldVoteCount > 1 && oldVoteCount < 5){ state = new RepeatVoteState(); } else if(oldVoteCount >= 5 && oldVoteCount <8){ state = new SpiteVoteState(); } else if(oldVoteCount > 8){ state = new BlackVoteState(); } //然后转调状态对象来进行相应的操作 state.vote(user, voteItem, this); } }



(此文不代表本网站观点,仅代表作者言论,由此文引发的各种争议,本网站声明免责,也不承担连带责任。)

责任编辑:国际新闻网

邮箱:tomrs@qq.com
联系电话:00852-97962611
地址:香港特别行政区湾仔区轩尼诗道269-273号光华大厦