《Java程序设计》实验指导书(双语)2012

更新时间:2023-06-10 23:54:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《Java程序设计》(双语)

实 验 指 导 书

江苏师范大学计算机科学与技术学院

2012年9月

前 言

一、编写原则

编写本指导书的指导原则是:以适应市场经济对计算机专业人才的需要和学生就业需求为宗旨,以学生的实践动手能力培养为重点,突出学生学习的主体地位,给定题目及要求,以学生为主,独立或小组协作完成;鼓励学生创新;实验过程中和课余的其他时间,教师应以辅导、指导、引导为主要教学手段;加强考核,以实践能力考核为指挥棒,促使学生重视程序设计能力的提高。

二、总体要求

实验课之前要写出实验预习报告(重点:实验名称、源代码)。体现Java编程风格(源代码缩进Tab4,块花括号在类、方法名同行,等等),每个类、每个方法都要有功能说明,其说明用文档注释方式表示/* */。

实验课开始后,逐个检查签字登记预习报告书写情况,作为评定实验成绩的依据之一。

任课教师给出FTP服务器的地址,学生登录的用户名、密码等。

实验任务完成时让任课教师检查后,并立即上传到指定的FTP服务器,上传的文件以工程文件夹为文件名压缩而成,其组成要符合要求,压缩文件中应该有相应实验的工程文件夹和Word文档(用将至少3套不同的数据运行程序,把运行结果图抓下来)。 三、工程与包

1.工程名 PXxxSn

其中:

P是工程代号,不允许改变; Xxx是学号的末三位;

S是实验代号,不允许改变; n是实验的任务序号。 2.包名 expXxxSn 其中:

exp不允许改变; Xxx是学号的末三位;

S是实验代号,不允许改变; n是实验的任务序号。 3. 源程序名(主类名) JNjZyXxxMmmSn 其中:

J不允许改变;

Nj是年级号,如:2008级的为08;

Zy是专业,取S(师范)或Y(应用)或W(网络)或R(软件工程); Xxx是学号的末三位;

Mmm是姓名(用汉字,两个字的中间无空格);

S是实验代号,不允许改变; n是实验的任务序号。

例如08级网络班的李雷、09级软件工程班的赵红强同学的主类命名如下: //李雷的实验任务1,注意姓名之间无空格 public class J08W118李雷S1{ }

又如:

public class J08R128赵红强S2{ //赵红强的实验任务2 }

4.Word文档

文档名:用源程序名;

内容:运行测试数据组一,结果见图x.y;运行测试数据组二,结果见图x.y;运行测试数据组三,结果见图x.y。其中图x.y是实验x的第y个图,等等。 四、时间要求

下课前发送,正常得分;下课后发送,评分时分数降档,每晚半天降一档次(10分)。

五、态度要求

抄袭以零分计。 六、考核项目

1.预习报告(根据源代码未写、写一半、写2/3、写完整等各种情况,得分不同)。 2.源代码(缩进、类和方法的注释、主类名)。 3.程序运行及其结果,至少用不同的3套数据,应该有边界数据或非法数据的测试,抄袭者以0分计。

4.上交文件名(包括压缩文件、工程文件夹、源程序文件和Word文档)、格式与内容。不能出现:内容不对或出错、无法打开、无内容或内容不全。

5.上交时间(下实验课后,每半天降一档10分)。

6.实验报告上交、书面情况(整洁,内容全面,有无错误或不当)。

7.为了鼓励同学们创新,对于编程过程中有创新表现的给予加分,根据创新情况适量加分。

目 录

实验一 JAVA 运行环境的安装、配置与运行(2课时) .............................................................................. 1 一、实验目的 .................................................................................................................................................... 1 二、实验要求 .................................................................................................................................................... 1 三、实验内容 .................................................................................................................................................... 1 实验二 JAVA基本语法(4课时) ................................................................................................................... 12 一、实验目的 .................................................................................................................................................. 12 二、实验要求 .................................................................................................................................................. 12 三、实验内容 .................................................................................................................................................. 12 实验三 类、继承与多态(2课时) ................................................................................................................ 15 一、实验目的 .................................................................................................................................................. 15 二、实验要求 .................................................................................................................................................. 15 三、实验内容 .................................................................................................................................................. 15 实验四 图形用户界面应用(6课时) ............................................................................................................ 16 一、实验目的 .................................................................................................................................................. 16 二、实验要求 .................................................................................................................................................. 16 三、实验内容 .................................................................................................................................................. 16 实验五 综合实验:JDBC编程(4课时) ....................................................................................................... 18 一、实验目的 .................................................................................................................................................. 18 二、实验要求 .................................................................................................................................................. 18 三、实验内容 .................................................................................................................................................. 18 参考文献 .............................................................................................................................................................. 30 附:实验报告(电子稿)模板(以实验二为例) ..................................................................................................... 31

实验一 Java 运行环境的安装、配置与运行(2课时)

一、实验目的

1.掌握JDK的安装步骤。

2.理解环境变量PATH、CLASSPATH的作用,以及它们的设置方法。

3.熟悉UltraEdit或其它编辑环境,编写简单的Application和Applet程序,并编译和解释执行。

4.记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。 二、实验要求

1.实验课之前,从 或上下载最新版本的JDK,并在自备微机上安装。

2.设置环境变量PATH、CLASSPATH,使得Java程序能正确编译和执行。

3.在UltraEdit或其它编辑环境下,将教材中的例题(例2.1~例2.8)分别输入到编辑器,编译并执行程序。

三、实验内容

作为初学者,必须搞清楚有关概念。依照下面提示进行操作,理解程序的编辑、编译、运行概念。

(一) Dos环境下运行程序 1.设置DOS 起始位置

为了在打开DOS 窗口时可以直接进入包含你开发的java 程序的路径下,下面以Windows XP/2000为例说明设置过程。

首先建立一个存放java 源程序的路径和文件夹,如将实验中建立的java 源程序

都存放在为“e:\java\程序”文件夹中。

单击“开始”→“所有程序”→“附件”→“命令提示符”,选择“命令提示

符”选项右击,

在出现的下拉菜单中选择“属性”菜单,将打开“命令提示符 属性”对话框,

如图1.11 所示。

在“命令提示符 属性”对话框中选择“快捷方式”选项,在“起始位置”栏输

入“e:\java\程序”,单击“确定”按钮。

进行了上面的设置后,打开DOS 窗口时将直接进入“e:\java\程序>”路径下。 如果没有进行上述设置,可使用DOS 命令,直接输入“e:”按回车进入到e 盘,再输入“cd java”到e 盘的java 子目录下,再输入“cd 程序”即可到“e:\java\程序>”路径下。

2 编写一个Java程序

编写:打开一个纯文本编辑器,键入如下程序:

public class Hello {

public static void main(String args[]) {

System.out.println("Hello,welcome!"); } }

将文件命名为Hello.java,保存为文本文件格式文件,注意保存文件的路径。根据前面环境变量的设置,Hello.java 应该保存在“e:\java\程序>”的路径下。

编译:

Java 源程序编写后,要使用Java 编译器(javac.exe)进行编译,将Java 源程序编译成可执行

的程序代码。Java 源程序都是扩展名为 .java 的文本文件。编译时首先读入Java 源程序,然后进行语法检查,如果出现问题就终止编译。语法检查通过后,生成可执行程序代码即字节码,字节码文件名和源文件名相同,扩展名为 .class。

1. 打开命令提示符窗口(MS-DOS 窗口)进入Java 源程序所在路径。 2. 键入编译器文件名和要谝译的源程序文件名。javac Hello.java

3. 按回车键开始编译(注意:文件名H 要大写,否则运行会出问题)。

如果源程序没有错误,则屏幕上没有输出,键入 “dir”按回车键后可在目录中看到生成了一个同名字的.class 文件“Hello. class”。否则,将显示出错信息。 运行:

使用Java 解释器(java.exe)可将编译后的字节码文件Hello.class 解释为本地计算机代码。

在命令提示符窗口或MS-DOS 窗口键入解释器文件名和要解释的字节码文件名java Hello,按回车键即开始解释并可看到运行结果。

3. 编写一个Java Applet程序

编写一个Java Applet程序,完成输出“这是我的第一个Java Applet程序!运行成功了!Applet程序需要借助Web浏览器运行。”。

为了体现Java Applet的程序编辑、编译、运行的特点,这里特地要求同学们选用UltraEdit作为编辑工具,输入如下所示的Java源程序:

/*Applet应用举例。程序名: FirstAppletDemo.java 编制人:×××(你自己的姓名);编制日期:××××年××月×日 最后一次修改日期:××××年××月×日 */

import java.awt.Graphics; import java.applet.Applet;

public class FirstAppletDemo extends Applet { public void paint(Graphics g) {

g.drawString("这是我编写的Java Applet程序!", 50, 30);

g.drawString("运行成功了!Applet程序需要借助Web浏览器运行。", 50, 60); } }

这样完成了Java Applet程序的编写工作,接着再编写相应的HTML程序,选用UltraEdit作为编辑工具,输入如下阴影部分所示的HTML源程序:

<html>

<applet code= FirstAppletDemo.class width=300 height=100 > </applet> </html>

为了方便记忆与对应,将该程序名命名为FirstAppletDemo.html。

接下来进行Java Applet程序的编译与运行工作。进入DOS窗口,输入下述编译命

令:

javac FirstAppletDemo.java

如果编译成功,将自动返回到DOS提示符。如果有消息,往往是没有编译成功的消息,请根据提示进行源程序检查后,再进行编译。

在编译成功的情况下,可以用下面的DOS命令执行程序:

appletviewer FirstAppletDemo.html 【回车】

(二)利用Eclipse开发环境写一个Java程序(HelloWorld) 预备知识:Eclipse入门

双击桌面的eclipse快捷方式,将打开eclipse应用程序。

在初次加载Eclipse时,我们会看到一个如图所示的提示框,要求选择工作区,工作区是指在计算机中保存项目的文件夹,以后你所编写的java

程序可以都放在这个文件夹中。建议大家选择d盘或e盘,或者自己的U盘,因为我们机房的c盘有保护,如果存放到c盘,下一次上机可能你的文件就不存在了。假设我们选择在d盘的根目录下写一个以自己名字命名(这个名字是自己随便起的,便于自己快速找到该文件夹)的工作区,如图,然后单击ok。

进入eclipse开始界面

这时,我们可以看到d盘根目录下多了一个文件夹hjp。

eclipse开发环境,它符合windows传统界面风格,由上到下依次为菜单栏、工具栏、客户区、状态栏,客户区又分为文件管理器、代码区和运行结果的区域。如下图

源代码区

文件管理器

运行结果

文件管理器:可以管理目录以及Java文件,包括浏览、新建、删除、打开、运行等操作。一般的,鼠标单击要选择的文件或者目录后:双击鼠标左键,可以在源代码区打开该文件,进行编辑;右单击鼠标将有一个弹出式菜单,列举了所有可以对该文件或目录进行的操作。

源代码区:可以编写Java程序

运行结果区:控制台程序的输入输出区域

如果不小心关闭了某个区域,可以从菜单栏Window->Show View的下拉菜单中单击某一项显示,例如要重新显示文件管理器只要单击Window->Show View->Package Explorer即可。

1) 创建Java项目(project)

一个java程序一般由几块组成,一般每个类占一个单独的文件,每个类单独编译,可以把这多个相关的类放到同一个项目中。创建项目的步骤如下: a)“File→New→Project...”

b) 在弹出的“New Project”对话框中,选择“Java Project”,单击“Next”

c) 在“New Java Project”对话框中,输入项目名字。在“Project name”中填入“HelloWorld”,不需要进行其他设置,直接点击“Finish”按钮。

完成后,在文件管理器中出现HelloWorld项目如下图

刚才已建的工作区D:\hjp文件夹下出现helloword文件夹

2) 在项目中加入HelloWorldApp类

选中HelloWorld项目后,单击鼠标右键,出现右键菜单,选择“New→Class”,如上图。 在弹出的对话框New Java Class中,Name框中输入“HelloWorldApp”,并且在“public static void main(String[] args)”选项前面打上勾。如下图。最后,单击“Finish”按钮。

单击“Finish”按钮后,对话框消失,出现下图界面,对比观察文件管理器的变化,同时可以在代码管理器中写HelloWorldApp的代码了。

注意到HelloWorldApp代码已经生成一部分了,包括类以及main方法。在main方法中加入一行代码:

System.out.println("Hello World");

在输入的过程中,可能会出现帮助信息,可以尝试着使用这些帮助。红色的下划线表示有语法错误,在该条语句输入完之前,可以不去在意。

3) 运行HelloWorldApp

在运行程序前最好保存一下你的源程序,以防运行过程中出现不可预测的错误。如下图在源代码区域选择右键菜单中的

RunAs->Java Application

如果没有保存修改过的源代码,会出现一个Save and Launch对话框,提示保存对于代码的修改,选择Save按钮。

程序结果可以在控制台看到。如下图:

【说明】仿照上面方法,请同学们充分利用课内外时间,将教材上的其它例题的源程序编辑、编译并运行。

实验二 Java基本语法(4课时)

一、实验目的

1. 了解 Java 的数据类型

2. 掌握各种变量的声明方式。 3. 理解运算符的优先级。

4. 掌握 Java 基本数据类型、运算符与表达式。

5. 理解 Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。

6. 通过以上内容,掌握 Java 语言的编程规则 二、实验要求

1. 编写表达式语句、复合语句的程序。 2. 编写使用不同选择结构的程序。 3. 编写使用不同循环结构结构的程序。

三、实验内容

(一)声明不同数据类型的变量

1.编写声明不同数据类型变量的程序文件 KY2_1.java,源代码如下。

public class KY2_1 {

public static void main(String args[]) { byte b=0x55; short s=0x55ff; int i=1000000;

long l=0xffffL; char c='a'; float f=0.23F; double d=0.7E-3; boolean B=true;

String S="这是字符串类数据类型";

System.out.println("字节型变量 b = "+b); System.out.println("短整型变量 s = "+s); System.out.println(" 整型变量 i = "+i); System.out.println("长整型变量 l = "+l); System.out.println("字符型变量 c = "+c); System.out.println("浮点型变量 f = "+f); System.out.println("双精度变量 d = "+d); System.out.println("布尔型变量 B = "+B); System.out.println("字符串类对象 S = "+S); } }

2. 编译并运行该程序 (二) 了解变量的使用范围

1.建立 KY2_2.java 文件,通过本程序了解变量的使用范围,源代码如下。 public class KY2_2 { static int i=10;

public static void main(String args[]) { {

int k=10;

System.out.println("i="+i); System.out.println("k="+k); }

System.out.println("i="+i); System.out.println("k="+k);

//编译时将出错,已出 k 的使用范围 } }

2.编译 KY2_2.java

此时会出现错误提示。因为变量 k 在方法块中声明,在方法块之外它是不存在的, 所以编译时会出错。

3.修改上面的程序。 4.成功运行该程序。

思考:KY2_2.java 程序说明了什么问题? (三) 使用关系运算符和逻辑运算符

1.建立使用关系运算符和逻辑运算符的程序文件,源代码如下。 class KY2_3 {

public static void main(String args[]) { int a=25, b=20, e=3, f=0; boolean d=a<b;

System.out.println("a=25,b=20,e=3,f=0");

System.out.println("因为关系表达式 a<b 为假,所以其逻辑值为 : "+d); if (e!=0 && a/e>5)

System.out.println("因为 e 非 0 且 a/e 为 8 大于 5,所以输出 a/e= "+a/e);

if (f!=0 && a/f>5)

System.out.println("a/f = "+a/f); else

System.out.println("因为 f 值为 0,所以输出 f = "+f); } }

2.编译并运行该程序,结果如图 2.3 所示。 (四) 使用选择语句 看教材上源代码和课后偶数编程题 (五) 使用循环语句 看教材上源代码和课后偶数编程题

(六)编程设计题(本题应在实验报告上完成,应提交实验源代码,实验运行数据及运行结果)

根据以下任务的要求,自己设计方案,并实现任务的目标,并且至少使用三组数据

进行测试,这些输入的数据应该考虑到各种情况,包括边界条件、完全不符合要求的数据、能够正常运行的多种情况数据、有可能造成程序崩溃的数据,等等。实验报告上要体现输入的各种数据运行的效果。

【任务1】教材PROGRAMMING EXERCISES 3.7。(Financial application: monetary units) Modify Listing 2.10, ComputeChange.java,to display the nonzero denominations only, using singular words for single units such as 1 dollar and 1 penny, and plural words for more than one unit such as 2 dollars and 3 pennies. (Use input 23.67 to test your program.)

【任务2】教材PROGRAMMING EXERCISES 3.17 【任务3】教材PROGRAMMING EXERCISES 3.19 【任务4】教材PROGRAMMING EXERCISES 4.25 【任务5】教材PROGRAMMING EXERCISES 4.27 【任务6】教材PROGRAMMING EXERCISES 5.9 【任务7】教材PROGRAMMING EXERCISES 7.3 *【任务8】设计算法并输出可变行数的杨辉三角形

【要求】请按照以下要求,设计方案并实现相应功能。①输出的杨辉三角形行数由人工输入,对于用户的输入要有友好提示;②程序能够排除输入过程中的非法数据(如:输入的行数为负数或字符等,以后通常称为非法数据);③上下行数据对齐格式(要考虑4位数)要符合杨辉三角定义; ④该三角形在屏幕上输出区域内左右居中,且整个输出为等腰三角形格式。思考:杨辉三角形的行数超过9行或其中的数值超过两位数、三位数时,你是如何处理下一行的数值是上一行(上方)两数值的和,而应居于上一行两数值之间的?

实验三 类、继承与多态(2课时)

一、实验目的

通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及 如何创建类和对象,了解成员变量和成员方法的特性。理解继承与多态,掌握 OOP 方式进行程序设计的方法。了解 Java 中包(package)、接口(interface)的作用,掌握包、接口的设计方法。

二、实验要求

1. 编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序。 2.编写体现类的多态性(成员方法重载、构造方法重载)的程序。

三、实验内容

(一)认真学习教材上源程序和课后复习题,偶数编程题。

(二)编程设计题(本题应在实验报告上完成,应提交实验源代码,实验运行数据及运行结果)

根据以下任务的要求,自己设计方案,并实现任务的目标,并且至少使用三组数据进行测试,这些输入的数据应该考虑到各种情况,包括边界条件、完全不符合要求的数据、能够正常运行的多种情况数据、有可能造成程序崩溃的数据,等等。实验报告上要体现输入的各种数据运行的效果。

【任务1】教材PROGRAMMING EXERCISES 11.1 【任务2】用接口设计并实现面积与周长计算

【要求】请按照以下要求,设计方案并实现相应功能。①定义一个接口,其中包含一个计算面积的抽象方法和一个计算周长的抽象方法;②输入数据为圆的半径、三角形的三条边长、矩形的长和宽,对于用户的输入要有友好提示;③程序能够排除输入过程中的非法数据(如:输入的长度数据为负数或字符;输入的三角形三条边数据不能组成三角形;④计算圆、三角形、矩形的面积和周长,并输出原始数据和结算结果。

实验四 图形用户界面应用(6课时)

一、实验目的

1.掌握Java图形用户界面的概念、设计与应用。

2.熟悉标签、文本框、文本行、按钮等组件的应用方法。 3.掌握Java中的事件处理机制。

4.掌握Java中Math类中数学函数(例如:sin(x)、cos(x)、round(x)、sqrt(x)等)方法的应用,以及输出数据格式处理的技能。

5.采用任务驱动法,学会使用Java提供的各种图形界面设计类进行设计。 二、实验要求

实验课之前,认真复习教材上关于图形用户界面设计的例题,,对计算器的功能进行分析,设计好计算器的界面和功能。该程序较复杂,同学们更要按照要求,对每个类、每个方法标注有功能说明,其说明用文档注释方式表示/* */。

三、实验内容

(一)认真学习教材上源程序和课后复习题,偶数编程题。

(二)编程设计题(本题应在实验报告上完成,应提交实验源代码,实验运行数据及运行结果)

根据以下任务的要求,自己设计方案,并实现任务的目标,并且至少使用三组数据进行测试,这些输入的数据应该考虑到各种情况,包括边界条件、完全不符合要求的数据、能够正常运行的多种情况数据、有可能造成程序崩溃的数据,等等。实验报告上要体现输入的各种数据运行的效果。

【任务1】教材PROGRAMMING EXERCISES 12.5 【任务2】教材PROGRAMMING EXERCISES 13.2 【任务3】教材PROGRAMMING EXERCISES 16.5 **【任务4】设计一个计算器程序

【要求】请按照以下要求,设计方案并实现相应功能。①有计算器界面,计算器可进行四则运算和部分函数运算;②可以输入浮点数;③通过单击“+”、“-”、“×”、“÷”、“1/x”、“sqrt”、“lg”、“sin”按钮进行加法、减法、乘法、除法、倒数、开平方、常用对数、正弦函数运算;④使用鼠标单击相应数字(含小数点)按钮进行输入;⑤输入的角度数据为以“度.分秒”格式,需要转换单位,以适应计算;⑥要显示计算结果时,须单击“=”按钮;⑦对于小数,保留4位;⑧要能够排除非法输入(如:一个实数中有两个小数点或运算符相连,等等)和改正输入过程中的错误。

要求:

实验课之前,认真复习教材上关于图形用户界面设计的例题,对计算器的功能进行分析,设计好计算器的界面和功能。该程序较复杂,同学们更要按照要求,对每个类、每个方法标注有功能说明,其说明用文档注释方式表示/* */。

⑴有小数时,保留4位小数,且符合四舍五入原则。例如:用10÷3得到的结果应该是0.3333;20÷3得到的结果应该是0.6667。

⑵三角函数的输入是以“度.分秒”的格式输入的。例如某角度是30度35分54.7秒,为了输入时的操作方便,应输入30.35547表示30°35'54.7〞;计算该角度的正弦函数值,即sin30°35'54.7〞的结果应该是0.5090。

提示:在Java中,计算角度的正弦、余弦、正切等函数时,应注意sin、cos等函数

的计算单位;另外,由于输入的是角度的度、分、秒格式,应该先将输入的度、分、秒格式角度值转换为以度为单位,然后再进行其后的运算。

本文来源:https://www.bwwdw.com/article/vvx1.html

Top