当前位置:文档之家› Java程序设计实训周实训计划

Java程序设计实训周实训计划

周实训教学计划
课程名称:Java程序设计实训授课专业:计算机网络
年级班级:16级计算机网络任课教师:***
教研室:计算机教研室
( 2017 - 2018学年第二学期)
实训教案
2:安装jre→更改→ \java 之前目录和安装jdk 目录相同即可注:若无安装目录要求,可全默认设置。

无需做任何修改,两次均直接点下一
2>安装完JDK后配置环境变量计算机→属性→高级系统设置
→高级→环境变量
系统变量→新建JA V A_HOME 变量。

图1-1:path路径
变量值填写jdk的安装目录(本人是E:\Java\jdk1.7.0)
系统变量→寻找Path 变量→编辑
在变量值最后输入%JA V A_HOME%\bin;%JA V A_HOME%\jre\bin; (注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)如图1-1;
系统变量→新建CLASSPATH 变量,如图1-2。

图1-2:classpath路径
.;%JA V A_HOME%\lib;%JA V A_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 归并排序。

相关主题