您好,欢迎访问三七文档
达内IT培训集团达内IT培训集团培训事业部版权2009—20121.1.经典案例案例1:完成一个Java中间件软件包的开发、打包、发布和使用定义完成一个Java中间件软件包的开发、打包、发布和使用,要求学员按照以下步骤完成一个Java中间件产品的开发,打包,发布和使用的完整过程:1,首先在工作目录下建立module1子目录,在该目录下创建Model.java类,并声明包:com.tarena.middle。2,使用java–d命令编译以上程序,检查编译后的目录结构。3,使用jar命令将编译完成的字节码文件打包。4,修改CLASSPATH,让其指向上一步中所创建的jar文件。5,重新写一个类Test.java,(Test类与Model类不在同一个包下)在该类的main方法中使用Model类。说明1,该案例主要考察以下知识点:编译Java程序,Java程序的包声明,jar命令的使用,CLASSPATH的设置,import的使用等。2,教师可以在课堂上完整演示本案例,并要求学员在课后独立完成本案例。3,该案例难度系数:设计级案例2:华氏温度与摄氏温度转换定义华氏温度与摄氏温度转换,编写一个程序,将华氏温度转换成摄氏温度或将摄氏温度转化成华氏温度。要求程序运行时从控制台读入温度值及单位,并输出另一种温度值及单位,例如:若用户输入27C则程序输出81F;若用户输入96F,则程序输出36C(其中C代表摄氏温度,F代表华氏温度),华氏温度与摄氏温度转化的公式为:C=5(F-32)/9F=9C/5+32要求输入的温度值是整数,输出的温度值也是四舍五入后的整数。达内IT培训集团达内IT培训集团培训事业部版权2009—2012说明1,该习题主要考察知识点:变量的定义,控制台输入,算术运算。2,教师应该讲解怎样使用Scanner做控制台数据的读入,并将此段代码发布给学员。3,教师应该讲解对double值四舍五入的方法。4,要求学员能使用Scanner从控制台读取整数,字符串,double等类型的数据。5,该案例难度系数:程序级案例3:个人所得税计算器定义个人所得税计算器,编写程序实现个人所得税的计算,要求从控制台输入本月实际收入,求出本月应纳个税。个人所得税计算公式:月应纳税所得额=月实际收入-个税起征点(2000.00)月应纳个人所得税税额=K1×F1+K2×F2+K3×F3+…+Kn×Fn其中Kn表示月应纳税所得额在第n级的部分,Fn表示第n级的税率。个人所得税率表:级数全月应纳税所得额税率(%)1不超过500元的52超过500元至2,000元的部分103超过2,000元至5,000元的部分154超过5,000元至20,000元的部分205超过20,000元至40,000元的部分256超过40,000元至60,000元的部分307超过60,000元至80,000元的部分358超过80,000元至100,000元的部分409超过100,000元的部分45说明:1,该习题主要考察的知识点:控制台输入和复杂的选择流程控制。2,计算个人所得税时要注意,应纳税所得额要分段计算,即:若某人的本月应纳税所得额为:7800.00元,则其中有500.00元适用税率5%;有1500.00元适用税率10%;有3000.00元适用税率15%;有2800.00元适用税率20%。则该员工应纳税:500×5%+1500×10%+3000×15%+2800×20%=1185.00元达内IT培训集团达内IT培训集团培训事业部版权2009—20123,该案例难度系数:程序级案例4:百分制分数和等级制分数的转换定义百分制分数与等级制分数的转换,编写程序,将一个百分制分数转化为等级制分数并输出出来,转化规则如下:90分以上A80分~89分B70分~79分C60分~69分D60分以下E要求百分制分数从控制台读入,并在程序中判断读入的分数值是否有效。转化后得到的等级制分数输出在控制台。说明:1,该习题主要考察知识点:控制台输入,多路分支选择结构(switch—case)。2,教师应启发学生如何设计switch-case3,该案例难度系数:程序级案例5:猜数字游戏定义编写程序,实现控制台的猜数字游戏。游戏运行时产生一个0-1000之间的随机整数,要求用户从控制台输入数字,若输入的数字比产生的数字小,则输出:“太小了,再大一点!”;若输入的数字比产生的数字大,则输出:“太大了,再小一点!”,若输入的数字和产生的数字相等,则输出:“恭喜你猜对了!”然后退出程序;若用户猜了10次还未猜对,则输出:“你太笨了,下次再来吧!”然后退出程序。说明:1,该案例主要考察的知识点:循环控制,控制台输入和输出,随机数的生成。2,教师应该讲解随机数产生的方法,并将该代码发布给学员。3,该案例难度系数:设计级案例6:九九乘法表的输出定义达内IT培训集团达内IT培训集团培训事业部版权2009—2012要求编写程序,在控制台输出九九乘法表,如下图所示:1×1=11×2=22×2=41×3=32×3=63×3=91×4=42×4=83×4=124×4=16……说明:1,该案例主要考察使用两层循环的嵌套来进行复杂的循环流程的控制。2,该案例可以作为教学案例,也可以要求学生当作课堂练习完成。3,该案例难度系数:程序级案例7:输出唐诗定义用二维数组保存一首唐诗(五言或七言),每一行代表一句,保存格式如下:剑外忽传收蓟北初闻涕泪满衣裳却看妻子愁何在漫卷诗书喜欲狂白日放歌须纵酒青春作伴好还乡即从巴峡穿巫峡便下襄阳向洛阳要求将这首唐诗按照古文的方式输出出来(从右至左,竖行排列),输出格式如下:便即青白漫却初剑下从春日卷看闻外襄巴作放诗妻涕忽阳峡伴歌书子泪传向穿好须喜愁满收洛巫还纵欲何衣蓟阳峡乡酒狂在裳北说明:1,该案例主要考察的知识点:二维数组的访问和元素的操作。2,教师可以画图分析将唐诗按照古文的方式输出时数组元素下标的变换规则。3,该案例难度系数:设计级达内IT培训集团达内IT培训集团培训事业部版权2009—2012案例8:酒店前台客房管理程序定义某酒店有10层楼,每层楼有12个房间,要求为该酒店设计一套简单的前台房间管理程序,该程序可以通过在命令行输入命令来为客人办理入住和退房手续。要求该程序支持通过命令行输入以下命令来进行入住,退房及查询的操作:search:查询所有房间的状态in1202tangliang:姓名为tangliang的客人入住1202房间out1202:1202房间退房quit:退出程序说明1,该案例主要考察知识点:数组的定义和遍历,两层循环来遍历二维数组。2,教师可以将程序框架搭建起来,让学员实现其中的部分代码。3,在本例中要求所有程序代码都写在main方法中。4,该案例难度系数:架构级案例9:用数组解决约瑟夫环问题定义用数组实现约瑟夫出圈问题。n个人排成一圈,从第一个人开始报数,从1开始报,报到m的人出圈,剩下的人继续开始从1报数,直到所有的人都出圈为止。对于给定的n,m,编写程序求出所有人的出圈顺序。说明:1,该案例主要考察的知识点:数组的使用和数组元素的操作2,教师应该详细讲解约瑟夫环的问题模型,以及如何用数组来模拟约瑟夫环的算法。3,该案例难度系数:设计级案例10:数组排序定义介绍常用的数组排序方法:冒泡排序或选择排序,让学员至少掌握一种数组排序的方法。说明:1,该案例让学员至少掌握一种数组排序的算法,对各种排序算法的优劣性有一定了解。达内IT培训集团达内IT培训集团培训事业部版权2009—20122,讲师讲解各种排序算法的原理,让学员自己实现其中至少一种排序方法的代码。3,该案例难度系数:程序级案例11:用模块化的设计重构以前的案例(方法的定义和调用)定义将案例8:酒店前台客房管理程序的代码使用模块化的方式重新组织,抽象出一些方法来分别完成某个模块的任务,然后在主方法中调用这些方法,将程序组织起来。说明:1,该案例考察方法的定义与调用。2,教师可以给出部分方法的定义接口,让学员实现,并调用。3,该案例难度系数:设计级案例12:扫雷游戏的核心功能的实现定义在该案例中我们要实现类似于windows扫雷游戏程序的核心功能,我们将扫雷游戏的核心功能分为以下4个模块:1,随机布雷模块在该模块中,我们要为扫雷游戏随机的布置地雷,扫雷游戏的布雷面板可以用二维int数组表示,若某位置为地雷,则该位置用数字-1表示,若该位置不是地雷,则暂时用数字0表示。我们要编写程序完成在该二维数组中随机布雷的操作,程序读入三个参数:布雷面板的行数(r),列数(c),布置的地雷数(n),且要满足要求0nr×c×0.75(布置地雷的密度最大为75%)。程序运行后将n个地雷随机的布置在r×c的二维数组中,产生如下的二维数组:000-100-10-100-1000-1-10-100-10-1-1000-100-1000-12,计算每个位置周围的地雷数以上一模块产生的随机地雷分布的二维数组为数据来源,计算该二维数组中不是地雷的位置周围的8个位置总共有多少个地雷,将这一数字存储在该位置,产生如下二维数组:122-121-12-144-1233-1-13-122-15-1达内IT培训集团达内IT培训集团培训事业部版权2009—2012-1322-132-1112-13,输出布雷面板:我们要编写程序完成布雷面板的控制台输出,为了区分布雷面板中哪些位置是已经被用户排开的,哪些位置是未被排开的,我们对以上二维数组的数据定义作如下约定:若该位置保存的数字是n,则n满足如下条件:1)若0=n=8,则表示该位置不是地雷,其周围位置的地雷数就是n,且该位置未被用户排开。2)若10=n=18,则表示该位置不是地雷,其周围位置的地雷数就是n%10,且该位置已经被用户排开。3)若n==-1,则表示该位置是地雷,并且未被用户标记。4,用户排雷程序模块完成以上两个模块后,用户可以完成排雷的操作,我们要编写一个程序来支持用户通过控制台来排除地雷,用户可以在控制台输入坐标位置,来表示排除该位置是地雷。当用户输入坐标位置后,程序需要执行如下操作:1)若该坐标位置是地雷(值为-1),则,程序结束,用户排雷失败。2)若该坐标位置存储的数字是大于0小于等于8的整数(该位置不是地雷,该位置周围地雷数等于该数字,该位置未被用户排开),则将该位置排开(并将该位置的数字+10,表示该位置已经排开),然后重新输出一遍布雷面板。3)若该坐标位置存储的数字是大于等于10小于等于18的整数(该位置不是地雷,该位置已经被排开),则输出错误信息,请用户重新输入。4)若该坐标位置存储的数字等于0(该位置不是地雷,该位置周围的8个位置也没有地雷,该位置还未被用户排开),则找该位置的周围8个位置,将其排开,排开时递归的执行排雷程序模块的操作。说明:1,该案例可分为四个子案例单独讲解,或作为课堂练习或课后作业让学员完成。2,其中前三个模块比较简单,要求大多数学员都能独立完成,最后一个模块比较复杂,需要设计方法的递归调用,有基础的学员可以在教师和项目经理的指导下完成。3,该案例考察了以下知识点:数组的操作,复杂流程的控制,方法的递归调用等。4,该案例难度系数:架构级案例13:五子棋游戏v1.0(控制台版本)定义编写程序实现两人互玩的五子棋游戏,游戏开始时要求在控制台输出以下棋盘,然后提示黑方和白方下子,玩家从命令行输入落子坐标,如:af,表示在a,f坐标落子,其中黑方的子用@表示,白方的子用O表示,空白位置用*表示,每有一方落子,则要重新输出棋盘的状态,程序还要能判断某一方获胜,并终止游戏。棋盘初始状态:0123456789abcdef达内IT培训集团达内IT培训集团培训事业部版权2009—20120****************1****************2****************3****************4****************5****************6
本文标题:经典案例
链接地址:https://www.777doc.com/doc-3420961 .html