1、Java程序设计实验指导书双语Java程序设计(双语)实 验 指 导 书江苏师范大学计算机科学与技术学院2012年9月前 言一、编写原则编写本指导书的指导原则是:以适应市场经济对计算机专业人才的需要和学生就业需求为宗旨,以学生的实践动手能力培养为重点,突出学生学习的主体地位,给定题目及要求,以学生为主,独立或小组协作完成;鼓励学生创新;实验过程中和课余的其他时间,教师应以辅导、指导、引导为主要教学手段;加强考核,以实践能力考核为指挥棒,促使学生重视程序设计能力的提高。二、总体要求实验课之前要写出实验预习报告(重点:实验名称、源代码)。体现Java编程风格(源代码缩进Tab4,块花括号在类、方法
2、名同行,等等),每个类、每个方法都要有功能说明,其说明用文档注释方式表示/*/。实验课开始后,逐个检查签字登记预习报告书写情况,作为评定实验成绩的依据之一。任课教师给出FTP服务器的地址,学生登录的用户名、密码等。实验任务完成时让任课教师检查后,并立即上传到指定的FTP服务器,上传的文件以工程文件夹为文件名压缩而成,其组成要符合要求,压缩文件中应该有相应实验的工程文件夹和Word文档(用将至少3套不同的数据运行程序,把运行结果图抓下来)。三、工程与包1.工程名PXxxSn其中:P是工程代号,不允许改变;Xxx是学号的末三位;S是实验代号,不允许改变;n是实验的任务序号。2.包名expXxxSn
3、其中: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 /赵红强
4、的实验任务24.Word文档文档名:用源程序名;内容:运行测试数据组一,结果见图x.y;运行测试数据组二,结果见图x.y;运行测试数据组三,结果见图x.y。其中图x.y是实验x的第y个图,等等。四、时间要求下课前发送,正常得分;下课后发送,评分时分数降档,每晚半天降一档次(10分)。五、态度要求抄袭以零分计。六、考核项目1.预习报告(根据源代码未写、写一半、写2/3、写完整等各种情况,得分不同)。2.源代码(缩进、类和方法的注释、主类名)。3.程序运行及其结果,至少用不同的3套数据,应该有边界数据或非法数据的测试,抄袭者以0分计。4.上交文件名(包括压缩文件、工程文件夹、源程序文件和Word文
5、档)、格式与内容。不能出现:内容不对或出错、无法打开、无内容或内容不全。5.上交时间(下实验课后,每半天降一档10分)。6.实验报告上交、书面情况(整洁,内容全面,有无错误或不当)。7.为了鼓励同学们创新,对于编程过程中有创新表现的给予加分,根据创新情况适量加分。实验一 Java 运行环境的安装、配置与运行(2课时)一、实验目的1.掌握JDK的安装步骤。2.理解环境变量PATH、CLASSPATH的作用,以及它们的设置方法。3.熟悉UltraEdit或其它编辑环境,编写简单的Application和Applet程序,并编译和解释执行。4.记录编译和执行Java程序当中的系统错误信息提示,并给出
6、解决办法。二、实验要求1实验课之前,从 或上下载最新版本的JDK,并在自备微机上安装。2设置环境变量PATH、CLASSPATH,使得Java程序能正确编译和执行。3在UltraEdit或其它编辑环境下,将教材中的例题(例2.1例2.8)分别输入到编辑器,编译并执行程序。三、实验内容作为初学者,必须搞清楚有关概念。依照下面提示进行操作,理解程序的编辑、编译、运行概念。(一) Dos环境下运行程序1.设置DOS 起始位置为了在打开DOS 窗口时可以直接进入包含你开发的java 程序的路径下,下面以Windows XP/2000为例说明设置过程。 首先建立一个存放java 源程序的路径和文件夹,如
7、将实验中建立的java 源程序都存放在为“e:java程序”文件夹中。 单击“开始”“所有程序”“附件”“命令提示符”,选择“命令提示符”选项右击, 在出现的下拉菜单中选择“属性”菜单,将打开“命令提示符 属性”对话框,如图1.11 所示。 在“命令提示符 属性”对话框中选择“快捷方式”选项,在“起始位置”栏输入“e:java程序”,单击“确定”按钮。进行了上面的设置后,打开DOS 窗口时将直接进入“e:java程序”路径下。如果没有进行上述设置,可使用DOS 命令,直接输入“e:”按回车进入到e 盘,再输入“cd java”到e 盘的java 子目录下,再输入“cd 程序”即可到“e:jav
8、a程序”路径下。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
9、的文本文件。编译时首先读入Java 源程序,然后进行语法检查,如果出现问题就终止编译。语法检查通过后,生成可执行程序代码即字节码,字节码文件名和源文件名相同,扩展名为 .class。1 打开命令提示符窗口(MSDOS 窗口)进入Java 源程序所在路径。2 键入编译器文件名和要谝译的源程序文件名。javac Hello.java3 按回车键开始编译(注意:文件名H 要大写,否则运行会出问题)。如果源程序没有错误,则屏幕上没有输出,键入 “dir”按回车键后可在目录中看到生成了一个同名字的.class 文件“Hello. class”。否则,将显示出错信息。运行:使用Java 解释器(java.
10、exe)可将编译后的字节码文件Hello.class 解释为本地计算机代码。在命令提示符窗口或MSDOS 窗口键入解释器文件名和要解释的字节码文件名java Hello,按回车键即开始解释并可看到运行结果。3. 编写一个Java Applet程序编写一个Java Applet程序,完成输出“这是我的第一个Java Applet程序!运行成功了!Applet程序需要借助Web浏览器运行。”。为了体现Java Applet的程序编辑、编译、运行的特点,这里特地要求同学们选用UltraEdit作为编辑工具,输入如下所示的Java源程序:/*Applet应用举例。程序名: FirstAppletDem
11、o.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程
12、序,选用UltraEdit作为编辑工具,输入如下阴影部分所示的HTML源程序: 为了方便记忆与对应,将该程序名命名为FirstAppletDemo.html。接下来进行Java Applet程序的编译与运行工作。进入DOS窗口,输入下述编译命令:javac FirstAppletDemo.java如果编译成功,将自动返回到DOS提示符。如果有消息,往往是没有编译成功的消息,请根据提示进行源程序检查后,再进行编译。在编译成功的情况下,可以用下面的DOS命令执行程序:appletviewer FirstAppletDemo.html 【回车】(二)利用Eclipse开发环境写一个Java程序(He
13、lloWorld)预备知识:Eclipse入门双击桌面的eclipse快捷方式,将打开eclipse应用程序。在初次加载Eclipse时,我们会看到一个如图所示的提示框,要求选择工作区,工作区是指在计算机中保存项目的文件夹,以后你所编写的java程序可以都放在这个文件夹中。建议大家选择d盘或e盘,或者自己的U盘,因为我们机房的c盘有保护,如果存放到c盘,下一次上机可能你的文件就不存在了。假设我们选择在d盘的根目录下写一个以自己名字命名(这个名字是自己随便起的,便于自己快速找到该文件夹)的工作区,如图,然后单击ok。进入eclipse开始界面这时,我们可以看到d盘根目录下多了一个文件夹hjp。e
14、clipse开发环境,它符合windows传统界面风格,由上到下依次为菜单栏、工具栏、客户区、状态栏,客户区又分为文件管理器、代码区和运行结果的区域。如下图 文件管理器:可以管理目录以及Java文件,包括浏览、新建、删除、打开、运行等操作。一般的,鼠标单击要选择的文件或者目录后:双击鼠标左键,可以在源代码区打开该文件,进行编辑;右单击鼠标将有一个弹出式菜单,列举了所有可以对该文件或目录进行的操作。 源代码区:可以编写Java程序 运行结果区:控制台程序的输入输出区域如果不小心关闭了某个区域,可以从菜单栏Window-Show View的下拉菜单中单击某一项显示,例如要重新显示文件管理器只要单击
15、Window-Show View-Package Explorer即可。 1) 创建Java项目(project)一个java程序一般由几块组成,一般每个类占一个单独的文件,每个类单独编译,可以把这多个相关的类放到同一个项目中。创建项目的步骤如下:a)“FileNewProject.” b) 在弹出的“New Project”对话框中,选择“Java Project”,单击“Next”c) 在“New Java Project”对话框中,输入项目名字。在“Project name”中填入“HelloWorld”,不需要进行其他设置,直接点击“Finish”按钮。完成后,在文件管理器中出现Hel
16、loWorld项目如下图刚才已建的工作区D:hjp文件夹下出现helloword文件夹2) 在项目中加入HelloWorldApp类选中HelloWorld项目后,单击鼠标右键,出现右键菜单,选择“NewClass”,如上图。在弹出的对话框New Java Class中,Name框中输入“HelloWorldApp”,并且在“public static void main(String args)”选项前面打上勾。如下图。最后,单击“Finish”按钮。单击“Finish”按钮后,对话框消失,出现下图界面,对比观察文件管理器的变化,同时可以在代码管理器中写HelloWorldApp的代码了。注
17、意到HelloWorldApp代码已经生成一部分了,包括类以及main方法。在main方法中加入一行代码: System.out.println(Hello World);在输入的过程中,可能会出现帮助信息,可以尝试着使用这些帮助。红色的下划线表示有语法错误,在该条语句输入完之前,可以不去在意。3) 运行HelloWorldApp在运行程序前最好保存一下你的源程序,以防运行过程中出现不可预测的错误。如下图在源代码区域选择右键菜单中的RunAs-Java Application如果没有保存修改过的源代码,会出现一个Save and Launch对话框,提示保存对于代码的修改,选择Save按钮。程
18、序结果可以在控制台看到。如下图:【说明】仿照上面方法,请同学们充分利用课内外时间,将教材上的其它例题的源程序编辑、编译并运行。实验二 Java基本语法(4课时)一、实验目的1 了解 Java 的数据类型 2 掌握各种变量的声明方式。 3 理解运算符的优先级。 4 掌握 Java 基本数据类型、运算符与表达式。 5 理解 Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 6 通过以上内容,掌握 Java 语言的编程规则二、实验要求1. 编写表达式语句、复合语句的程序。 2. 编写使用不同选择结构的程序。 3. 编写使用不同循环结构结构的程序。三、实验内容(一)声明不同
19、数据类型的变量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
20、= +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 文件,通过本程序了解变量的使用
21、范围,源代码如下。 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成功运行该程序。
22、思考:KY2_2.java 程序说明了什么问题? (三) 使用关系运算符和逻辑运算符 1建立使用关系运算符和逻辑运算符的程序文件,源代码如下。 class KY2_3 public static void main(String args) int a=25, b=20, e=3, f=0; boolean d=ab; System.out.println(a=25,b=20,e=3,f=0); System.out.println(因为关系表达式 a5) System.out.println(因为 e 非 0 且 a/e 为 8 大于 5,所以输出 a/e +a/e); if (f!=0 &
23、 a/f5) System.out.println(a/f = +a/f); else System.out.println(因为 f 值为 0,所以输出 f = +f); 2编译并运行该程序,结果如图 2.3 所示。(四) 使用选择语句 看教材上源代码和课后偶数编程题(五) 使用循环语句 看教材上源代码和课后偶数编程题 (六)编程设计题(本题应在实验报告上完成,应提交实验源代码,实验运行数据及运行结果)根据以下任务的要求,自己设计方案,并实现任务的目标,并且至少使用三组数据进行测试,这些输入的数据应该考虑到各种情况,包括边界条件、完全不符合要求的数据、能够正常运行的多种情况数据、有可能造成程
24、序崩溃的数据,等等。实验报告上要体现输入的各种数据运行的效果。【任务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
25、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】设计算法并输出可变行数的杨辉三角形【要求】请按照以下要求,设计
26、方案并实现相应功能。输出的杨辉三角形行数由人工输入,对于用户的输入要有友好提示;程序能够排除输入过程中的非法数据(如:输入的行数为负数或字符等,以后通常称为非法数据);上下行数据对齐格式(要考虑4位数)要符合杨辉三角定义; 该三角形在屏幕上输出区域内左右居中,且整个输出为等腰三角形格式。思考:杨辉三角形的行数超过9行或其中的数值超过两位数、三位数时,你是如何处理下一行的数值是上一行(上方)两数值的和,而应居于上一行两数值之间的?实验三 类、继承与多态(2课时)一、实验目的通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及 如何创建类和对象,了解成员变量
27、和成员方法的特性。理解继承与多态,掌握 OOP 方式进行程序设计的方法。了解 Java 中包(package)、接口(interface)的作用,掌握包、接口的设计方法。二、实验要求1 编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序。 2编写体现类的多态性(成员方法重载、构造方法重载)的程序。三、实验内容(一)认真学习教材上源程序和课后复习题,偶数编程题。(二)编程设计题(本题应在实验报告上完成,应提交实验源代码,实验运行数据及运行结果)根据以下任务的要求,自己设计方案,并实现任务的目标,并且至少使用三组数据进行测试,这些输入的数据应该考虑到各种情况,包括边界条件、完全不符合要求
28、的数据、能够正常运行的多种情况数据、有可能造成程序崩溃的数据,等等。实验报告上要体现输入的各种数据运行的效果。【任务1】教材PROGRAMMING EXERCISES 11.1【任务2】用接口设计并实现面积与周长计算【要求】请按照以下要求,设计方案并实现相应功能。定义一个接口,其中包含一个计算面积的抽象方法和一个计算周长的抽象方法;输入数据为圆的半径、三角形的三条边长、矩形的长和宽,对于用户的输入要有友好提示;程序能够排除输入过程中的非法数据(如:输入的长度数据为负数或字符;输入的三角形三条边数据不能组成三角形;计算圆、三角形、矩形的面积和周长,并输出原始数据和结算结果。 实验四 图形用户界面
29、应用(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】教材PRO
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1