JAVA控制台万年历代码.docx
- 文档编号:18125681
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:22
- 大小:19.43KB
JAVA控制台万年历代码.docx
《JAVA控制台万年历代码.docx》由会员分享,可在线阅读,更多相关《JAVA控制台万年历代码.docx(22页珍藏版)》请在冰点文库上搜索。
JAVA控制台万年历代码
importgame.Test;
importjava.util.*;
publicclassCalendar1{
publicintdays=36525;
publicintmonthsDay=1;
publicintyears=2000;
publicintyearDay=0;
publicStringweek="",answer="";
publicDatedate=newDate();
publicStringtime="";
publicString[]work=newString[255];//事件的内容
publicint[]workyear=newint[255];//事件的年份
publicint[]workmonth=newint[255];//事件的月份
publicint[]workday=newint[255];//事件的日期
publicintday,No=0,No1=0;//附加参数
publicintno=0;
publicintweekday;
Scannerinput=newScanner(System.in);
/**
*标题
*/
publicvoidstart(){
System.out//标题
.println("\n*****欢迎使用我行我速万年历*****\n\t\tQQ727229775\n\n1.浏览下月输入【A】\t2.浏览上月输入【D】\n3.浏览去年输入【W】\t4.浏览明年输入【S】\n5.重新开始输入【Q】\t6.退出程序输入【E】\n7.添加记事输入【F】\t8.[浏览/删除]全部记事【R】\n9.[删除/修改]记事【X】\t10.菜单提示……【C】\n11.显示当前时间【T】\n");
menu();
}
/**
*计算总天数(days)
*/
publicvoidcount(){
for(intmonth=1;month if(month==1||month==3||month==5||month==7 ||month==8||month==10||month==12){ days+=31; yearDay=31; }elseif(month==2){ if(years%4==0&&years%100! =0 ||years%400==0){ days+=29; yearDay=29; }else{ days+=28; yearDay=28; } }elseif(month==4||month==6||month==9 ||month==11){ days+=30; yearDay=30; } } if(monthsDay==1||monthsDay==3||monthsDay==5 ||monthsDay==7||monthsDay==8||monthsDay==10 ||monthsDay==12){ yearDay=31; }elseif(monthsDay==2){ if(years%4==0&&years%100! =0||years%400==0){ yearDay=29; }else{ yearDay=28; } }elseif(monthsDay==4||monthsDay==6||monthsDay==9 ||monthsDay==11){ yearDay=30;//计算当前月的天数 } week();//把当前星期表示的数字改为中文 show();//显示日历 } /** *输入初始值 */ publicvoidfate(){ try{ days=0; System.out.print("\n\n输入年份: ");//计算1900-? 的天数 years=input.nextInt(); for(intyear=1900;year if(year%4==0&&year%100! =0||year%400==0){ days+=366; }else{ days+=365; } } while(1==1){ System.out.print("\n输入月份: "); monthsDay=input.nextInt(); if(monthsDay>12||monthsDay<1){//提示输入错误 System.out.println("输入月份错误,请重新输入! "); continue; }else{ break; } } }catch(Exceptionex){ System.out.println("\n\t\t检测到输入异常,跳转到菜单输入。 "); years=2000; monthsDay=1; } count(); } /** *把当前星期所表示的数字改为中文 */ publicvoidweek(){ weekday=(days+1)%7;//把当前星期所表示的数字改为中文 switch(weekday){ case0: week="日"; break; case1: week="一"; break; case2: week="二"; break; case3: week="三"; break; case4: week="四"; break; case5: week="五"; break; case6: week="六"; break; } System.out.print("\n这个月的第一天是: 星期"+week);//计算当月第一天是星期几 } /** *显示当月万年历 */ publicvoidshow(){ System.out.print("\n\n星期天\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\n"); for(inta=1;a<=weekday;a++){ System.out.print("\t"); } for(day=1;day<=yearDay;day++){ System.out.print(day+"\t");//计算星期六的日期 if((days+day)%7==6){ System.out.println(""); } } feast();//显示当月节日 } /** *显示当月节日 */ publicvoidfeast(){ switch(monthsDay){//显示节日 case1: System.out.println("\n"+monthsDay+".1: 元旦"); break; case2: System.out.println("\n"+monthsDay+".14: 情人节"+"\n" +monthsDay+".28: 元宵节"); break; case3: System.out.println("\n"+monthsDay+".8: 妇女节"); break; case4: System.out.println("\n"+monthsDay+".5: 清明节"); break; case5: System.out.println("\n"+monthsDay+".1: 劳动节\n" +monthsDay+".4: 青年节"); break; case6: System.out.println("\n"+monthsDay+".1: 儿童节\n" +monthsDay+".16: 端午节"); break; case7: System.out.println("\n"+monthsDay+".1: 建党节"); break; case8: System.out.println("\n"+monthsDay+".1: 建军节"+"\n" +monthsDay+".16: 七夕"); break; case9: System.out.println("\n"+monthsDay+".10: 教师节"+"\n" +monthsDay+".22: 中秋节"); break; case10: System.out.println("\n"+monthsDay+".1: 国庆节"); break; case11: System.out.println("\n无……"); break; case12: System.out.println("\n无……"); break; } job(); } /** *显示当月记事 */ publicvoidjob(){ No=0; while(No<254){//显示当月记事 if(work[No]! =null&&workyear[No]==years &&monthsDay==workmonth[No]&&No<254){ System.out.println("记事: (日期: "+workday[No]+")\n【内容: " +work[No]+"】\t编号: No."+No); No++; continue; }else{ No++; continue; } } No=0;//输入菜单 System.out.print("\n\n当月日期: "+years+"年"+monthsDay+"月"); menu(); } /** *总菜单 */ publicvoidmenu(){ while(1==1){ System.out.print("\n菜单输入: "); answer=input.next(); if(answer.equals("A")||answer.equals("a")||answer.equals("1")){ prox();//上月 }elseif(answer.equals("d")||answer.equals("D")||answer.equals("2")){ ultimo();//下月 }elseif(answer.equals("w")||answer.equals("W")||answer.equals("3")){ lastYear();//去年 }elseif(answer.equals("s")||answer.equals("S")||answer.equals("4")){ nextYear();//明年 }elseif(answer.equals("q")||answer.equals("Q")||answer.equals("5")){ fate();//重新开始输入 }elseif(answer.equals("e")||answer.equals("E")||answer.equals("6")){ System.out.println("退出我行我速万年历系统! ! ! "); }elseif(answer.equals("c")||answer.equals("C")||answer.equals("10")){ clew();//菜单提示 }elseif(answer.equals("x")||answer.equals("X")||answer.equals("9")){ reworkdel();//修改or删除记事 }elseif(answer.equals("r")||answer.equals("R")||answer.equals("8")){ showAll();//显示所有记事 }elseif(answer.equals("t")||answer.equals("T")||answer.equals("11")){ Date();//显示当前时间 }elseif(answer.equals("f")||answer.equals("F")||answer.equals("7")){ append();//添加新记事 }elseif(answer.equals("g")||answer.equals("G")||answer.equals("12")){ Testtest=newTest(); test.start(); }else{ error(); } } } /** *浏览下个月 */ publicvoidprox(){ if(monthsDay>=12){ monthsDay=1; years+=1; System.out.println(days); }else{ monthsDay+=1; } days=0; for(intyear=1900;year if(year%4==0&&year%100! =0||year%400==0){ days+=366; }else{ days+=365; } } count();//开始返回计算天数 } /** *浏览上个月 */ publicvoidultimo(){ if(monthsDay<=1){ monthsDay=12; years-=1; }else{ monthsDay-=1; } days=0; for(intyear=1900;year if(year%4==0&&year%100! =0||year%400==0){ days+=366; }else{ days+=365; } } count();//开始返回计算天数 } /** *浏览去年(12个月前)日历 */ publicvoidlastYear(){ years-=1; days=0; for(intyear=1900;year if(year%4==0&&year%100! =0||year%400==0){ days+=366; }else{ days+=365; } } count();//开始返回计算天数 } /** *浏览明年(12个月后)日历 */ publicvoidnextYear(){ years+=1; days=0; for(intyear=1900;year if(year%4==0&&year%100! =0||year%400==0){ days+=366; }else{ days+=365; } } count();//开始返回计算天数 } /** *菜单提示 */ publicvoidclew(){ System.out .println("\n\n1.浏览下月输入【A】\t2.浏览上月输入【D】\n3.浏览去年输入【W】\t4.浏览明年输入【S】\n5.重新开始输入【Q】\t6.退出程序输入【E】\n7.添加记事输入【F】\t8.[浏览/删除]全部记事【R】\n9.[删除/修改]记事【X】\t10.菜单提示……【C】\n11.显示当前时间【T】\n"); menu(); } /** *修改及删除记事 */ publicvoidreworkdel(){ System.out.print("需要修改(Y)/删除(N)? ? ? "); Stringanswer2=input.next(); while(1==1){ if(answer2.equals("Y")||answer2.equals("y")){//修改记事 System.out.print("请输入需要修改的记事号码: No."); try{ no=input.nextInt(); if(work[no]==null){ System.out.println("无此编号记事! 退出修改程序……");//搜索有无此编号记事 menu();//切换到主菜单 } System.out.println("记事: (日期: "+workyear[no] +"年"+workmonth[no]+"月" +workday[no]+"日"+")\n内容: 【" +work[no]+"】"+"\t编号: No."+no);//使用索引变量no的值修改事件 System.out.println("修改记事年份为: "); intworkyear2=input.nextInt(); workyear[no]=workyear2; if(workyear2>=2500||workyear2<=1900){ System.out.println("\n输入年份格式错误,请重新输入! "); continue; } System.out.println("修改记事月份为: "); intworkmonth2=input.nextInt(); if(workmonth2<=0||workmonth2>=13){ System.out.println("\n输入月份格式错误,请重新输入! "); continue; } workmonth[no]=workmonth2; System.out.println("修改记事日期为: "); intworkday2=input.nextInt(); if(workday2<=0||workday2>=32){ System.out.println("\n输入日期格式错误,请重新输入! "); continue; } workday[no]=workday2; System.out.println("修改记事内容为: "); Stringwork2=input.next(); work[no]=work2; System.out.println("修改记事完毕! "); workmonth2=0; workyear2=0; workday2=0; work2=null; no=0; menu();//切换到主菜单 }catch(Exceptionex){ System.out.println("\n\t\t检测到输入异常,跳转到菜单输入。 "); } }elseif(answer2.equals("N")//删除记事 ||answer2.equals("n")){ System.out.print("请输入需要删除的记事号码: No."); try{ no=input.nextInt(); }catch(Exceptionex){ System.out.println("\n\t\t检测到输入异常,跳转到菜单输入。 "); } if(work[no]==null){//搜索有无此记事 System.out.println("无此编号记事! 退出删除程序……"); menu();//切换到主菜单 } System.out.println("记事: (日期: "+workyear[no]+"年"+workmonth[no]+"月"+workday[no]+"日"+")\n内容: 【"+work[no]+"】"+"\t编号: No."+no); System.out.println("确定删除(Y/N)? ? ? "); Stringanswer3=input.next(); if(answer3.equals("Y")||answer3.equals("y")){//提示是否删除 workmont
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 控制台 万年历 代码