《指导学习课课件阶段小结和难点突破》由会员分享,可在线阅读,更多相关《指导学习课课件阶段小结和难点突破(18页珍藏版)》请在金锄头文库上搜索。
1、指导学习1 训练条件结构和类的方法1任务 任务从控制台输入 年 月,从控制台输出该月日历 (1900年1月1日是星期一) 训练的技能点 q 会使用分支结构解决问题 q 会使用循环结构解决问题 q 会编写和调用类的方法2阶段划分第一部分 :阶段小结(30分钟) 阶段小结 需求分析第二部分:练习(80分钟) 阶段1(5分钟) 显示欢迎信息,并接收用户输入年和月份 阶段2 (10分钟) 判断是否是为闰年 阶段3 (10分钟) 计算闰年2月份的天数 阶段4 (20分钟) 编程计算输入的月份距离1900年1月1日的天数 阶段5 (10分钟) 计算从1月份开始至该月经过的天数 阶段6(30分钟) 计算该月
2、第一天是星期几并输出该月的日历 阶段7 (5分钟) 创建用户调用的方法,运行日历第三部分:总结3阶段小结19章阶段小结 会使用分支结构解决简单问题 有哪几种分支结构?分别说明使用场合? 语法结构? 会使用循环结构解决简单问题 有哪几种循环结构? 几种循环结构的区别? 分别说明语法结构和执行过程? 为什么会出现死循环?如何避免? 会调用类中的方法 如何初始化类? 如何调用类中的方法?4需求分析 编写方法来实现 首先要创建类文件名为:CalenderMethod 要编写的方法: 1、显示欢迎信息,并接收用户输入年和月份 2、判断是否是为闰年 3、计算闰年2月份的天数 4、输入的月份距离1900年1
3、月1日的天数 5、计算该月第一天是星期几 6、按格式输出该月日历教员讲解:20分钟/公共变量int days=0; /存储用户输入的月份的天数boolean isRn; /存储该年是否为闰年int year; /存储用户输入的年份int month; /存储用户输入的月份int totalDays=0; /存储用户输入月份从1900/1/1号到输入年 份和月份所经历过的总天数5需求说明: 分析业务 实现1:显示欢迎信息,并接收用户输入年和月份方法名:Welcome() 没有返回值1、显示欢迎信息,并接收用户输入年和月份 2、判断是否是为闰年 3、计算闰年2月份的天数 4、输入的月份距离1900
4、年1月1日的天数 5、计算该月第一天是星期几 6、计算该月第一天是星期几并输出该月日历阶段1完成时间:5分钟6需求说明: 分析业务 实现2:判断是否为闰年方法名:isRunNian(int year) 返回值为布尔类型判断是否是闰年:能被4整除但不能被100整除;或者能被400整除 阶段2完成时间:10分钟1、显示欢迎信息,并接收用户输入年和月份 2、判断是否是为闰年 3、计算闰年2月份的天数 4、输入的月份距离1900年1月1日的天数 5、计算该月第一天是星期几 6、计算该月第一天是星期几并输出该月日历7需求说明: 实现3:计算闰年2月份的天数 方法名:getYearOfDay(int ye
5、ar) 返值回是int类型闰年2月:29天 平年2月:28天阶段3完成时间:10分钟1、显示欢迎信息,并接收用户输入年和月份 2、判断是否是为闰年 3、计算闰年2月份的天数 4、输入的月份距离1900年1月1日的天数 5、计算该月第一天是星期几 6、计算该月第一天是星期几并输出该月日历8教员巡视指导,进行阶段检查阶段3共性问题集中讲解n常见调试问题及解决办法n代码规范问题9需求说明: 实现4: 1、计算输入月份距离1900年1月1日的天数 2、计算输入月份之前的天数(从当年年初开始) 3、求和,保存到totalDays变量里面去方法名:GetTotalDays() 没有返回值如果是闰年就加上3
6、66天,否则加上365天1900年1 月1日 年1月 年月阶段4完成时间:20分钟1、显示欢迎信息,并接收用户输入年和月份 2、判断是否是为闰年 3、计算闰年2月份的天数 4、输入的月份距离1900年1月1日的天数 5、计算该月第一天是星期几 6、计算该月第一天是星期几并输出该月日历 10需求说明: 计算从1月份开始至该月经过的天数方法名:setBeforyDays() 没有返回值定义int型beforeDays保存所经过的天数再累加到totalDays变量中去阶段5完成时间:10分钟1、显示欢迎信息,并接收用户输入年和月份 2、判断是否是为闰年 3、计算闰年2月份的天数 4、输入的月份距离1
7、900年1月1日的天数 5、计算从1月到该月共经过有多少天 6、计算该月第一天是星期几并输出该月日历 1月月11教员巡视指导,进行阶段检查阶段5共性问题集中讲解n常见调试问题及解决办法n代码规范问题12需求说明: 已知该月之前的天数,计算输入月份的第一天是星期几,并 输出日历 方法名:printCalender( ) 没有返回值 从1900年1月1日(星期一)开始推算: 星期 = 1 + 总天数 % 7 周一周六:16 周日:0阶段6完成时间:30分钟1、显示欢迎信息,并接收用户输入年和月份 2、判断是否是为闰年 3、计算闰年2月份的天数 4、输入的月份距离1900年1月1日的天数 5、计算从
8、1月到该月共经过有多少天 6、计算该月第一天是星期几并输出该月日历 13阶段6-部份关键代码方法名:printCalender( ) 没有返回值 int firstDayOfMonth; /星期日为0,星期一星期六分别为16 int temp=1+totalDays%7; /从1900/1/1日开始推算 /输出日历名称(星期日 星期一 星期六) /输出空格 /循环输出天数 for(int j=1;j= ;j+ )/输出日期System.out.print(j+”t”);/如果当天为周六,就输出换行if(totalDays+j-1)%7=5) System.out.println(); 从190
9、0年1月1日(星期一)开始推算: 星期 = 1 + 总天数 % 7 周一周六:16 周日:014教员巡视指导,进行阶段检查阶段6共性问题集中讲解n常见调试问题及解决办法n代码规范问题15阶段7建立一个其它用户调用的方法,名为:DisplayInfo( ) 没有返回值public void DisplayInfo()Welcome(); /显示欢迎信息isRn=isRunNian(year); /判断是否是闰年GetTotalDays(); /汇总1900年到用户输入年经历的天数setBeforyDays(); /汇总1月到用户输入的月数经历的天数printCalender(); /显示日历信息建立一个入口程序类,名为:printCalendar.java调用CalenderMethod类中的DisplayInfo( ) 方法完成时间:5分钟16总结总 结n类似问题的解决思路n代码编写的共性问题强调17Thank you18