Java实现的程序员老黄历实例
今早起来,无聊之际把程序员老黄历用Java实现了一番。
原JS版地址:程序员老黄历
尊重原作……哈哈哈(连备注都复制的人是不是很恶心的?)
代码如下:
代码段1
packagecom.test;
/**
*activities的枚举
*@authorXiao
*
*/
publicenumActivitiesEnum{
ACTIVITIES_1("写单元测试","写单元测试将减少出错","写单元测试会降低你的开发效率",false),
ACTIVITIES_2("洗澡","你几天没洗澡了?","会把设计方面的灵感洗掉",true),
ACTIVITIES_3("锻炼一下身体","","能量没消耗多少,吃得却更多",true),
ACTIVITIES_4("抽烟","抽烟有利于提神,增加思维敏捷","除非你活够了,死得早点没关系",true),
ACTIVITIES_5("白天上线","今天白天上线是安全的","可能导致灾难性后果",false),
ACTIVITIES_6("重构","代码质量得到提高","你很有可能会陷入泥潭",false),
ACTIVITIES_7("使用%t","你看起来更有品位","别人会觉得你在装逼",false),
ACTIVITIES_8("跳槽","该放手时就放手","鉴于当前的经济形势,你的下一份工作未必比现在强",false),
ACTIVITIES_9("招人","你面前这位有成为牛人的潜质","这人会写程序吗?",false),
ACTIVITIES_10("面试","面试官今天心情很好","面试官不爽,会拿你出气",false),
ACTIVITIES_11("提交辞职申请","公司找到了一个比你更能干的人,你赶快滚蛋","鉴于当前的经济形势,你的下一份工作未必比现在强",false),
ACTIVITIES_12("申请加薪","老板今天心情很好","公司正在考虑裁员",false),
ACTIVITIES_13("晚上加班","晚上是程序员精神最好的时候","",true),
ACTIVITIES_14("在妹子面前吹牛","改善你矮穷挫的形象","会被识破",true),
ACTIVITIES_15("撸管","避免缓冲区溢出",true),
ACTIVITIES_16("浏览成人网站","重拾对生活的信心","你会心神不宁",true),
ACTIVITIES_17("命名变量%v","","",false),
ACTIVITIES_18("写超过%l行的方法","你的代码组织的很好,长一点没关系","你的代码将混乱不堪,你自己都看不懂",false),
ACTIVITIES_19("提交代码","遇到冲突的几率是最低的","你遇到的一大堆冲突会让你觉得自己是不是时间穿越了",false),
ACTIVITIES_20("代码复审","发现重要问题的几率大大增加","你什么问题都发现不了,白白浪费时间",false),
ACTIVITIES_21("开会","写代码之余放松一下打个盹,有益健康",false),
ACTIVITIES_22("打DOTA","你将有如神助","你会被虐的很惨",true),
ACTIVITIES_23("晚上上线","晚上是程序员精神最好的时候","你白天已经筋疲力尽了",false),
ACTIVITIES_24("修复BUG","你今天对BUG的嗅觉大大提高","新产生的BUG将比修复的更多",false),
ACTIVITIES_25("设计评审","设计评审会议将变成头脑风暴","人人筋疲力尽,评审就这么过了",false),
ACTIVITIES_26("需求评审","","",false),
ACTIVITIES_27("上微博","今天发生的事不能错过","今天的微博充满负能量",true),
ACTIVITIES_28("上AB站","还需要理由吗?","满屏兄贵亮瞎你的眼",true),
ACTIVITIES_29("玩FlappyBird","今天破纪录的几率很高","除非你想玩到把手机砸了",true);
privateStringname;
privateStringgood;
privateStringbad;
privateBooleanweekend;
ActivitiesEnum(Stringname,Stringgood,Stringbad,Booleanweekend){
this.setBad(bad);
this.setGood(good);
this.setName(name);
this.setWeekend(weekend);
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetGood(){
returngood;
}
publicvoidsetGood(Stringgood){
this.good=good;
}
publicStringgetBad(){
returnbad;
}
publicvoidsetBad(Stringbad){
this.bad=bad;
}
publicBooleangetWeekend(){
returnweekend;
}
publicvoidsetWeekend(Booleanweekend){
this.weekend=weekend;
}
}
代码段2
packagecom.test;
publicenumSpecialsEnum{
SPECIALS(2014,"bad","待在男(女)友身边","脱团火葬场,入团保平安。");
privateIntegerdate;
privateStringtype;
privateStringname;
privateStringdescription;
SpecialsEnum(Integerdate,Stringtype,Stringname,Stringdescription){
this.setDate(date);
this.setType(type);
this.setName(name);
this.setDescription(description);
}
publicIntegergetDate(){
returndate;
}
publicvoidsetDate(Integerdate){
this.date=date;
}
publicStringgetType(){
returntype;
}
publicvoidsetType(Stringtype){
this.type=type;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetDescription(){
returndescription;
}
publicvoidsetDescription(Stringdescription){
this.description=description;
}
}
代码段3
packagecom.test;
importjava.text.SimpleDateFormat;
importjava.util.ArrayList;
importjava.util.Arrays;
importjava.util.Calendar;
importjava.util.Date;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Locale;
importjava.util.Map;
importjava.util.Random;
importorg.apache.commons.lang.StringUtils;
publicclassProgrammerCalendar{
privateIntegeriday=0;
privateString[]weeks=newString[]{"日","一","二","三","四","五","六"};
privateString[]directions=newString[]{"北方","东北方","东方","东南方","南方","西南方","西方","西北方"};
privateString[]tools=newString[]{"Eclipse写程序","MSOffice写文档","记事本写程序","Windows8","Linux","MacOS","IE","Android设备","iOS设备"};
privateString[]varNames=newString[]{"jieguo","huodong","pay","expire","zhangdan","every","free","i1","a","virtual","ad","spider","mima","pass","ui"};
privateString[]drinks=newString[]{"水","茶","红茶","绿茶","咖啡","奶茶","可乐","鲜奶","豆奶","果汁","果味汽水","苏打水","运动饮料","酸奶","酒"};
publicIntegergetIday(){
returniday;
}
publicString[]getDirections(){
returndirections;
}
/**
*注意:本程序中的“随机”都是伪随机概念,以当前的天为种子。
*/
publicIntegerrandom(IntegerdaySeed,IntegerindexSeed){
Integern=daySeed%11117;
for(inti=0;i<100+indexSeed;i++){
n=n*n;
n=n%11117;//11117是个质数
}
returnn;
}
publicStringgetTodayString(){
Calendarcalendar=Calendar.getInstance();
calendar.setTime(newDate());
return"今天是"+calendar.get(Calendar.YEAR)+"年"+(calendar.get(Calendar.MONTH)+1)
+"月"+calendar.get(Calendar.DAY_OF_MONTH)
+"日星期"+weeks[calendar.get(Calendar.DAY_OF_WEEK)-1];
}
publicStringstar(Integernum){
Stringresult="";
inti=0;
while(ifilter(){
ListthisEnum=newArrayList();
//周末的话,只留下weekend=true的事件
if(isWeekend()){
for(ActivitiesEnume:ActivitiesEnum.values()){
if(e.getWeekend()){
thisEnum.add(e);
}
}
returnthisEnum;
}
returnnewArrayList(Arrays.asList(ActivitiesEnum.values()));
}
publicvoidpickTodaysLuck(){
List_activities=filter();
IntegernumGood=random(iday,98)%3+2;
IntegernumBad=random(iday,87)%3+2;
List
运行结果:
今天是:今天是2016年9月25日星期日
座位朝向:面向西方写程序,BUG最少。
今日宜饮:可乐,果汁
女神亲近指数:★★☆☆☆
宜:
锻炼一下身体
晚上加班:晚上是程序员精神最好的时候
浏览成人网站:重拾对生活的信心
不宜:
打DOTA:你会被虐的很惨
上AB站:满屏兄贵亮瞎你的眼
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。