Java程序设计实训周实训计划.docx
《Java程序设计实训周实训计划.docx》由会员分享,可在线阅读,更多相关《Java程序设计实训周实训计划.docx(26页珍藏版)》请在冰豆网上搜索。
Java程序设计实训周实训计划
周实训教学计划
课程名称:
Java程序设计实训
授课专业:
计算机网络
年级班级:
16级计算机网络
任课教师:
刘德强
教研室:
计算机教研室
(2017-2018学年第二学期)
实训项目(课题)名称
Java程序设计实训
计划学时
30
指导教师
刘德强
实训时间
第16、17周
实训场地
网络实训室
实训班级
16级网络
实训目的
系统培养学生的编程开发的能力,理解系统开发的流程,熟悉当下流行的最新技术,进一步锻炼学生的编程能力
实训重点
难点
实训重点:
Java开发的基础流程
实训难点:
java中的特性理解
教学方法
手段
多媒体讲解、演示法、以及实训练习
实训准备
确定好分组,给学生详细讲解实训任务及要求,准备jdk的环境搭建以及网络环境配置,开发工具为eclipse。
实训安全
注意事项
注意实训室设备的正确使用,以及实训室电源的使用。
实训完成后及时断电和关闭实训室。
教学内容分述
备注
1、实训内容:
(操作规程、仪器设备性能、岗位分工、发放实训材料资料、对学生的要求等)
实训内容:
教师:
讲授基础级代码,学会基础逻辑。
学生:
根据讲授的内容和技术编写一个相应的系统。
学生在组内由组长安排任务每天填写日报,日报内容包括当天的完成内容和第二天的任务
2、实训步骤:
(教师活动、学生活动、时间分配等)
进度安排:
本次实训为五天,每天上午四课时,下午两个课时。
上午两个课时为教师讲解当天任务,三四课时为熟悉案例代码。
下午俩个课时为编写代码。
(时间可以灵活掌握)
3、教学分析:
(实训期间预计困难及解决方案)
困难:
学生在实训当中会遇到理解能力较差,个人进度跟不上教学进度。
开发过程缓慢
解决方案:
多鼓励学生利用好课余时间,利用课余时间将实训课程内容学会
4、实训考核:
(方法选择与成果评价、等级标准等)
考核标准:
1.学生的考勤占实训30%
2.学生的练习代码占实训的30%
3.学生的作业完成情况:
(占40%)
1)各组完成情况较好,组长适当加分
2)各组完成情况较差,组长适当减分
5、实验实训报告:
(记录、完成情况等)
6、实训小结:
(实训效果、待处理问题、改进措施等)
7、基本教材及参考书目:
基本教材:
参考书目:
PPT,知识点大纲
《Java程序设计入门》
《Java核心技术》
实训教案
教学内容
备注
任务一:
java开发环境的搭建
任务描述:
本任务需要搭建java开发的软硬件开发环境,从网络的基础设施到jdk安装以及eclipse的搭建。
任务的关键点:
1.网络设施的搭建
2.Jdk环境配置
3.Eclipse的环境的搭建
任务分析:
网络设施的搭建是学习计算机的一个必不可少的重要环节,完成基础设施的安装与搭建是学习编程开发的第一步。
软件环境的搭建对于开发的逻辑思路有重要的意义。
环境搭建需要勤于动手。
任务实施:
1.网络设施搭建
1>制作网线,网线RJ-45接口的线序为白橙橙白绿蓝白蓝绿白棕棕,检查网线是否接通。
2>配置网络ip:
网络和Internet设置-->以太网-->网络适配器设置-->属性-->IPv4
网关为:
10.7.4.254
子网掩码:
255.255.255.0
2.jdk环境配置:
1>安装JDK选择安装目录安装过程中会出现两次安装提示。
第一次是安装jdk,第二次是安装jre。
建议两个都安装在同一个java文件夹中的不同文件夹中。
(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错)
1:
安装jdk随意选择目录只需把默认安装目录\java之前的目录修改即可
2:
安装jre→更改→\java之前目录和安装jdk目录相同即可
注:
若无安装目录要求,可全默认设置。
无需做任何修改,两次均直接点下一
2>安装完JDK后配置环境变量 计算机→属性→高级系统设置→高级→环境变量
系统变量→新建JAVA_HOME变量。
图1-1:
path路径
变量值填写jdk的安装目录(本人是E:
\Java\jdk1.7.0)
系统变量→寻找Path变量→编辑
在变量值最后输入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)如图1-1;
系统变量→新建CLASSPATH变量,如图1-2。
图1-2:
classpath路径
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)系统变量配置完毕检验是否配置成功运行cmd输入java-version(java和-version之间有空格)
若如图所示显示版本信息则说明安装和配置成功。
图1-3:
运行结果
3.eclipse的安装:
在官网上下载eclipse解压缩。
设置默认开发工作环境目录。
任务二:
基础语法
任务描述:
本任务旨在训练学生对java基本语法的掌握,具体的任务关键点为:
任务关键点:
1.加密程序
2.三元运算判断奇偶数
3.精确浮点数
4.变量的互换
5.闰年的判断
任务分析:
本次任务是通过对程序的编写进一步掌握基础知识,也是对基础知识的熟练应用。
每个分解任务都会偏重某一个知识点。
任务实施:
1.加密程序
创建Example类,在该列的主方法中创建System类的标准输入流的扫描器对象,提示用户输入一个英文的字符串或者要解密的字符串,然后通过扫描器获取用户输入的字符串,经过加密或解密后,把字符串通过错误流输出到控制台。
关键代码:
图2-1加密程序
图2-2加密程序结果
2.用三元运算符判断奇偶数
创建ParityCheck类,在该类的主方法中创建标准输入流的扫描器对象,提示用户输入一个整数,并通过扫描器的方法来接收一个整数,通过三元运算符判断该数字与2的余数,如果余数为0,如果余数为0说明其是偶数,否则是奇数,关键代码:
图2-3用三元运算符判断奇偶数
图2-4命令行结果
3.精确浮点数
创建AccuratelyFloat类,在该类的主方法中创建double类型的浮点数变量并输出它们相减的运算结果,然后以BigDecimal类的实例再一次完成同样的运算,对比运行结果哪个更精确,关键代码如下:
图2-5精确浮点数
图2-6运行结果
4.变量的互换
创建VariableExchange类,在该类的主方法中创建扫描器对象接收用户输入两个变量值,然后通过位运算中的异或运算符“^”实现两个变量的互换,关键代码下:
图2-7变量的互换
图2-8运行结果
5.闰年的判断
图2-9闰年的判断
图2-10运行结果
任务三:
基础应用
任务描述:
本任务旨在训练学生对java基本语法的掌握,具体的任务关键点为:
任务关键点:
1.杨辉三角
2.阶乘运算
3.终止循环体
4.循环的极限
5.冒泡排序
任务分析:
本次任务是通过对程序的编写进一步掌握基础知识,也是对基础知识的熟练应用。
每个分解任务都会偏重某一个知识点。
任务实施:
1.杨辉三角
图3-1杨辉三角程序
图3-2运行结果
2.阶乘运算
创建Example类,在该类的主方法中创建保存总和的sum变量和计算阶乘的factorial变量,为保证计算结果的精度,这两个变量都是BigDecimal类的实例对象。
然后通过while实现20次循环,并完成计算。
图3-3阶乘运算
图3-4命令行结果
3.终止循环体
在eclipse中创建一个java项目,在项目中创建BreakCyc类,
在该类的主方法中创建一个字符串数组,在使用foreach遍历时,判断如果发现数组中包含字符串“老鹰”则立刻中断循环。
在创建一个整数类型的二维数组,使用双层foreach循环遍历,当发现第一个小于60的数组元素,则立刻中断整个双层循环,而不是内层循环,代码如下:
图3-5精确浮点数
图3-6运行结果
4.循环的极限
创建CycUtmost类,在该类的主方法中创建int整数类型的变量end,使其等于整数类型的最大值,然后用该值减去50开始作为循环的起始点,条件是循环控制变量小于等于end变量,在循环体中累加循环计数器,最后循环结束时显示这个技术器,如下:
图3-7循环极限
图3-8运行结果
5.冒泡排序
图3-9冒泡排序
图3-10运行结果
任务四:
排序算法
任务描述:
本任务旨在训练学生对java基本语法以及算法的掌握,具体的任务关键点为:
任务关键点:
1.快速排序
2.选择排序
3.插入排序
4.归并排序
任务分析:
本次任务是通过对程序的编写进一步掌握基础知识,也是对基础知识的熟练应用。
掌握各种排序的算法解法,每个分解任务都会偏重某一个知识点。
任务实施:
1.快速排序
快速排序的基本思想是:
首先选定一个轴值(就是比较的基准),将待排序记录分割成独立的两部分,左侧记录的关键码都小于或等于轴值,右侧的记录关键码都大于或等于关键码,然后在对这两部分分别重复上述的过程,直到整个序列有序。
图4-1快速排序
图4-2运行结果
2.选择排序
选择排序是一类借助“选择”进行排序的方法,其主要思想是:
每趟排序在当前待排序序列中选出关键码最小的记录,添加到有序序列中。
选择排序比较独特的地方是:
记录的移动次数少,本实例运行结果如图4-3:
图4-3选择排序
图4-4命令行结果
3.插入排序
插入排序是一类借助“插入”进行排序的方法,其主要思想是:
每次将一个待排序的记录按其关键码的大小插入到一个已经排好序的有序序列中,直到全部记录排好序:
图4-5插入排序
图4-6运行结果
4.归并排序法
归并排序是一种借助“归并”进行排序的方法,其实就是将两个或两个以上的有序序列合并成一个有序的序列。
归并排序的主要思想是将若干有序序列逐步合并成一个有序的序列:
图4-7归并排序
图4-8归并排序
图4-9归并排序
图4-10运行结果
任务五:
算法应用
任务描述:
本任务旨在训练学生对java基本语法以及算法的掌握,具体的任务关键点为:
任务关键点:
1.百钱买百鸡
2.韩信点兵
3.斐波那契数列
4.汉诺塔
任务分析:
本次任务是通过对程序的编写进一步掌握基础知识,也是对基础知识的熟练应用。
掌握各种排序的算法解法,每个分解任务都会偏重某一个知识点。
任务实施:
1.百钱买百鸡
百钱买百鸡是一个很经典的算法案例,其主要内容是:
公鸡5元一只,母鸡3元一只,小鸡1元一只。
问100元钱怎样可以买100只鸡。
图5-1快速排序
图5-2运行结果
2.韩信点兵
韩信点兵是一道古代数学题,其内容是:
韩信带兵不足百人,3人一行排列多一人,7人一行排列少两人,5人一行排列正好。
本实例是计算出韩信究竟点了多少兵。
图5-3韩信点兵
图5-4命令行结果
3.斐波那契数列
斐波那契数列的定义为:
它的第一项和第二项均为1,以后各项都为前两项之和。
图5-5插入排序
图5-6运行结果
4.汉诺塔
汉诺塔问题是一个古典数学问题,其内容是:
古代有一个梵塔,塔内有3个座,即A、B、C,开始时A座上有64个盘子,盘子的大小不等,大的在下面,小的在上面。
有一个老和尚想把这个64个盘子从A座移到C座,但每次只允许移动一个盘子,且在移动过程中3个座上的都要保持大盘子在下面,小盘子在上面。
图5-7循环极限
图5-8归并排序