指导学习1训练条件结构和类的方法任务任务从控制台输入××××年××月,从控制台输出该月日历(1900年1月1日是星期一)训练的技能点会使用分支结构解决问题会使用循环结构解决问题会编写和调用类的方法阶段划分第一部分:阶段小结(30分钟)阶段小结需求分析第二部分:练习(80分钟)阶段1(5分钟)显示欢迎信息,并接收用户输入年和月份阶段2(10分钟)判断是否是为闰年阶段3(10分钟)计算闰年2月份的天数阶段4(20分钟)编程计算输入的月份距离1900年1月1日的天数阶段5(10分钟)计算从1月份开始至该月经过的天数阶段6(30分钟)计算该月第一天是星期几并输出该月的日历阶段7(5分钟)创建用户调用的方法,运行日历第三部分:总结阶段小结1~9章阶段小结会使用分支结构解决简单问题有哪几种分支结构?分别说明使用场合?语法结构?会使用循环结构解决简单问题有哪几种循环结构?几种循环结构的区别?分别说明语法结构和执行过程?为什么会出现死循环?如何避免?会调用类中的方法如何初始化类?如何调用类中的方法?需求分析编写方法来实现首先要创建类文件名为:CalenderMethod要编写的方法:•1、显示欢迎信息,并接收用户输入年和月份•2、判断是否是为闰年•3、计算闰年2月份的天数•4、输入的月份距离1900年1月1日的天数•5、计算该月第一天是星期几•6、按格式输出该月日历教员讲解:20分钟//公共变量intdays=0;//存储用户输入的月份的天数booleanisRn;//存储该年是否为闰年intyear;//存储用户输入的年份intmonth;//存储用户输入的月份inttotalDays=0;//存储用户输入月份从1900/1/1号到输入年份和月份所经历过的总天数需求说明:分析业务实现1:显示欢迎信息,并接收用户输入年和月份方法名:Welcome()没有返回值1、显示欢迎信息,并接收用户输入年和月份2、判断是否是为闰年3、计算闰年2月份的天数4、输入的月份距离1900年1月1日的天数5、计算该月第一天是星期几6、计算该月第一天是星期几并输出该月日历阶段1完成时间:5分钟需求说明:分析业务实现2:判断是否为闰年方法名:isRunNian(intyear)返回值为布尔类型判断是否是闰年:能被4整除但不能被100整除;或者能被400整除阶段2完成时间:10分钟1、显示欢迎信息,并接收用户输入年和月份2、判断是否是为闰年3、计算闰年2月份的天数4、输入的月份距离1900年1月1日的天数5、计算该月第一天是星期几6、计算该月第一天是星期几并输出该月日历需求说明:实现3:计算闰年2月份的天数方法名:getYearOfDay(intyear)返值回是int类型闰年2月:29天平年2月:28天阶段3完成时间:10分钟1、显示欢迎信息,并接收用户输入年和月份2、判断是否是为闰年3、计算闰年2月份的天数4、输入的月份距离1900年1月1日的天数5、计算该月第一天是星期几6、计算该月第一天是星期几并输出该月日历教员巡视指导,进行阶段检查阶段3共性问题集中讲解常见调试问题及解决办法代码规范问题需求说明:实现4:1、计算输入月份距离1900年1月1日的天数2、计算输入月份之前的天数(从当年年初开始)3、求和,保存到totalDays变量里面去方法名:GetTotalDays()没有返回值如果是闰年就加上366天,否则加上365天1900年1月1日×年1月×年×月阶段4完成时间:20分钟1、显示欢迎信息,并接收用户输入年和月份2、判断是否是为闰年3、计算闰年2月份的天数4、输入的月份距离1900年1月1日的天数5、计算该月第一天是星期几6、计算该月第一天是星期几并输出该月日历需求说明:计算从1月份开始至该月经过的天数方法名:setBeforyDays()没有返回值定义int型beforeDays保存所经过的天数再累加到totalDays变量中去阶段5完成时间:10分钟1、显示欢迎信息,并接收用户输入年和月份2、判断是否是为闰年3、计算闰年2月份的天数4、输入的月份距离1900年1月1日的天数5、计算从1月到该月共经过有多少天6、计算该月第一天是星期几并输出该月日历1月×月教员巡视指导,进行阶段检查阶段5共性问题集中讲解常见调试问题及解决办法代码规范问题需求说明:已知该月之前的天数,计算输入月份的第一天是星期几,并输出日历方法名:printCalender()没有返回值从1900年1月1日(星期一)开始推算:星期×=1+总天数%7周一~周六:1~6周日:0阶段6完成时间:30分钟1、显示欢迎信息,并接收用户输入年和月份2、判断是否是为闰年3、计算闰年2月份的天数4、输入的月份距离1900年1月1日的天数5、计算从1月到该月共经过有多少天6、计算该月第一天是星期几并输出该月日历阶段6-部份关键代码方法名:printCalender()没有返回值intfirstDayOfMonth;//星期日为0,星期一~星期六分别为1~6inttemp=1+totalDays%7;//从1900/1/1日开始推算//输出日历名称(星期日星期一……星期六)//输出空格//循环输出天数for(intj=1;j=;j++){//输出日期System.out.print(j+”\t”);//如果当天为周六,就输出换行if((totalDays+j-1)%7==5){System.out.println();}}从1900年1月1日(星期一)开始推算:星期×=1+总天数%7周一~周六:1~6周日:0教员巡视指导,进行阶段检查阶段6共性问题集中讲解常见调试问题及解决办法代码规范问题阶段7建立一个其它用户调用的方法,名为:DisplayInfo()没有返回值publicvoidDisplayInfo(){Welcome();//显示欢迎信息isRn=isRunNian(year);//判断是否是闰年GetTotalDays();//汇总1900年到用户输入年经历的天数setBeforyDays();//汇总1月到用户输入的月数经历的天数printCalender();//显示日历信息}建立一个入口程序类,名为:printCalendar.java调用CalenderMethod类中的DisplayInfo()方法完成时间:5分钟总结总结类似问题的解决思路代码编写的共性问题强调Thankyou