《Java程序设计》实验指导书双语.docx
《《Java程序设计》实验指导书双语.docx》由会员分享,可在线阅读,更多相关《《Java程序设计》实验指导书双语.docx(35页珍藏版)》请在冰豆网上搜索。
《Java程序设计》实验指导书双语
《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,注意姓名之间无空格
publicclassJ08W118李雷S1{
……
}
又如:
publicclassJ08R128赵红强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.掌握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程序的路径下,下面以WindowsXP/2000为例说明设置过程。
♦首先建立一个存放java源程序的路径和文件夹,如将实验中建立的java源程序都存放在为“e:
\java\程序”文件夹中。
♦单击“开始”→“所有程序”→“附件”→“命令提示符”,选择“命令提示符”选项右击,
♦在出现的下拉菜单中选择“属性”菜单,将打开“命令提示符属性”对话框,如图1.11所示。
♦在“命令提示符属性”对话框中选择“快捷方式”选项,在“起始位置”栏输入“e:
\java\程序”,单击“确定”按钮。
进行了上面的设置后,打开DOS窗口时将直接进入“e:
\java\程序>”路径下。
如果没有进行上述设置,可使用DOS命令,直接输入“e:
”按回车进入到e盘,再输入“cdjava”到e盘的java子目录下,再输入“cd程序”即可到“e:
\java\程序>”路径下。
2编写一个Java程序
编写:
打开一个纯文本编辑器,键入如下程序:
publicclassHello{
publicstaticvoidmain(Stringargs[]){
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.键入编译器文件名和要谝译的源程序文件名。
javacHello.java
3.按回车键开始编译(注意:
文件名H要大写,否则运行会出问题)。
如果源程序没有错误,则屏幕上没有输出,键入“dir”按回车键后可在目录中看到生成了一个同名字的.class文件“Hello.class”。
否则,将显示出错信息。
运行:
使用Java解释器(java.exe)可将编译后的字节码文件Hello.class解释为本地计算机代码。
在命令提示符窗口或MS-DOS窗口键入解释器文件名和要解释的字节码文件名javaHello,按回车键即开始解释并可看到运行结果。
3.编写一个JavaApplet程序
编写一个JavaApplet程序,完成输出“这是我的第一个JavaApplet程序!
运行成功了!
Applet程序需要借助Web浏览器运行。
”。
为了体现JavaApplet的程序编辑、编译、运行的特点,这里特地要求同学们选用UltraEdit作为编辑工具,输入如下所示的Java源程序:
/*Applet应用举例。
程序名:
FirstAppletDemo.java
编制人:
×××(你自己的姓名);编制日期:
××××年××月×日
最后一次修改日期:
××××年××月×日
*/
importjava.awt.Graphics;
importjava.applet.Applet;
publicclassFirstAppletDemoextendsApplet{
publicvoidpaint(Graphicsg){
g.drawString("这是我编写的JavaApplet程序!
",50,30);
g.drawString("运行成功了!
Applet程序需要借助Web浏览器运行。
",50,60);
}
}
这样完成了JavaApplet程序的编写工作,接着再编写相应的HTML程序,选用UltraEdit作为编辑工具,输入如下阴影部分所示的HTML源程序:
为了方便记忆与对应,将该程序名命名为FirstAppletDemo.html。
接下来进行JavaApplet程序的编译与运行工作。
进入DOS窗口,输入下述编译命令:
javacFirstAppletDemo.java
如果编译成功,将自动返回到DOS提示符。
如果有消息,往往是没有编译成功的消息,请根据提示进行源程序检查后,再进行编译。
在编译成功的情况下,可以用下面的DOS命令执行程序:
appletviewerFirstAppletDemo.html【回车】
(二)利用Eclipse开发环境写一个Java程序(HelloWorld)
预备知识:
Eclipse入门
双击桌面的eclipse快捷方式,将打开eclipse应用程序。
在初次加载Eclipse时,我们会看到一个如图所示的提示框,要求选择工作区,工作区是指在计算机中保存项目的文件夹,以后你所编写的java程序可以都放在这个文件夹中。
建议大家选择d盘或e盘,或者自己的U盘,因为我们机房的c盘有保护,如果存放到c盘,下一次上机可能你的文件就不存在了。
假设我们选择在d盘的根目录下写一个以自己名字命名(这个名字是自己随便起的,便于自己快速找到该文件夹)的工作区,如图,然后单击ok。
进入eclipse开始界面
这时,我们可以看到d盘根目录下多了一个文件夹hjp。
eclipse开发环境,它符合windows传统界面风格,由上到下依次为菜单栏、工具栏、客户区、状态栏,客户区又分为文件管理器、代码区和运行结果的区域。
如下图
✓文件管理器:
可以管理目录以及Java文件,包括浏览、新建、删除、打开、运行等操作。
一般的,鼠标单击要选择的文件或者目录后:
双击鼠标左键,可以在源代码区打开该文件,进行编辑;右单击鼠标将有一个弹出式菜单,列举了所有可以对该文件或目录进行的操作。
✓源代码区:
可以编写Java程序
✓运行结果区:
控制台程序的输入输出区域
如果不小心关闭了某个区域,可以从菜单栏Window->ShowView的下拉菜单中单击某一项显示,例如要重新显示文件管理器只要单击Window->ShowView->PackageExplorer即可。
1)创建Java项目(project)
一个java程序一般由几块组成,一般每个类占一个单独的文件,每个类单独编译,可以把这多个相关的类放到同一个项目中。
创建项目的步骤如下:
a)“File→New→Project...”
b)在弹出的“NewProject”对话框中,选择“JavaProject”,单击“Next”
c)在“NewJavaProject”对话框中,输入项目名字。
在“Projectname”中填入“HelloWorld”,不需要进行其他设置,直接点击“Finish”按钮。
完成后,在文件管理器中出现HelloWorld项目如下图
刚才已建的工作区D:
\hjp文件夹下出现helloword文件夹
2)在项目中加入HelloWorldApp类
选中HelloWorld项目后,单击鼠标右键,出现右键菜单,选择“New→Class”,如上图。
在弹出的对话框NewJavaClass中,Name框中输入“HelloWorldApp”,并且在“publicstaticvoidmain(String[]args)”选项前面打上勾。
如下图。
最后,单击“Finish”按钮。
单击“Finish”按钮后,对话框消失,出现下图界面,对比观察文件管理器的变化,同时可以在代码管理器中写HelloWorldApp的代码了。
注意到HelloWorldApp代码已经生成一部分了,包括类以及main方法。
在main方法中加入一行代码:
System.out.println("HelloWorld");
在输入的过程中,可能会出现帮助信息,可以尝试着使用这些帮助。
红色的下划线表示有语法错误,在该条语句输入完之前,可以不去在意。
3)运行HelloWorldApp
在运行程序前最好保存一下你的源程序,以防运行过程中出现不可预测的错误。
如下图在源代码区域选择右键菜单中的RunAs->JavaApplication
如果没有保存修改过的源代码,会出现一个SaveandLaunch对话框,提示保存对于代码的修改,选择Save按钮。
程序结果可以在控制台看到。
如下图:
【说明】仿照上面方法,请同学们充分利用课内外时间,将教材上的其它例题的源程序编辑、编译并运行。
实验二Java基本语法(4课时)
一、实验目的
1.了解Java的数据类型
2.掌握各种变量的声明方式。
3.理解运算符的优先级。
4.掌握Java基本数据类型、运算符与表达式。
5.理解Java程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。
6.通过以上内容,掌握Java语言的编程规则
二、实验要求
1.编写表达式语句、复合语句的程序。
2.编写使用不同选择结构的程序。
3.编写使用不同循环结构结构的程序。
三、实验内容
(一)声明不同数据类型的变量
1.编写声明不同数据类型变量的程序文件KY2_1.java,源代码如下。
publicclassKY2_1{
publicstaticvoidmain(Stringargs[]){
byteb=0x55;
shorts=0x55ff;
inti=1000000;
longl=0xffffL;
charc='a';
floatf=0.23F;
doubled=0.7E-3;
booleanB=true;
StringS="这是字符串类数据类型";
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文件,通过本程序了解变量的使用范围,源代码如下。
publicclassKY2_2{
staticinti=10;
publicstaticvoidmain(Stringargs[]){
{
intk=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.建立使用关系运算符和逻辑运算符的程序文件,源代码如下。
classKY2_3{
publicstaticvoidmain(Stringargs[]){
inta=25,b=20,e=3,f=0;
booleand=a
System.out.println("a=25,b=20,e=3,f=0");
System.out.println("因为关系表达式a
"+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】教材PROGRAMMINGEXERCISES3.7。
(Financialapplication:
monetaryunits)ModifyListing2.10,ComputeChange.java,todisplaythenonzerodenominationsonly,usingsingularwordsforsingleunitssuchas1dollarand1penny,andpluralwordsformorethanoneunitsuchas2dollarsand3pennies.(Useinput23.67totestyourprogram.)
【任务2】教材PROGRAMMINGEXERCISES3.17
【任务3】教材PROGRAMMINGEXERCISES3.19
【任务4】教材PROGRAMMINGEXERCISES4.25
【任务5】教材PROGRAMMINGEXERCISES4.27
【任务6】教材PROGRAMMINGEXERCISES5.9
【任务7】教材PROGRAMMINGEXERCISES7.3
*【任务8】设计算法并输出可变行数的杨辉三角形
【要求】请按照以下要求,设计方案并实现相应功能。
①输出的杨辉三角形行数由人工输入,对于用户的输入要有友好提示;②程序能够排除输入过程中的非法数据(如:
输入的行数为负数或字符等,以后通常称为非法数据);③上下行数据对齐格式(要考虑4位数)要符合杨辉三角定义;④该三角形在屏幕上输出区域内左右居中,且整个输出为等腰三角形格式。
思考:
杨辉三角形的行数超过9行或其中的数值超过两位数、三位数时,你是如何处理下一行的数值是上一行(上方)两数值的和,而应居于上一行两数值之间的?
实验三类、继承与多态(2课时)
一、实验目的
通过编程和上机实验理解Java语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性。
理解继承与多态,掌握OOP方式进行程序设计的方法。
了解Java中包(package)、接口(interface)的作用,掌握包、接口的设计方法。
二、实验要求
1.编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序。
2.编写体现类的多态性(成员方法重载、构造方法重载)的程序。
三、实验内容
(一)认真学习教材上源程序和课后复习题,偶数编程题。
(二)编程设计题(本题应在实验报告上完成,应提交实验源代码,实验运行数据及运行结果)
根据以下任务的要求,自己设计方案,并实现任务的目标,并且至少使用三组数据进行测试,这些输入的数据应该考虑到各种情况,包括边界条件、完全不符合要求的数据、能够正常运行的多种情况数据、有可能造成程序崩溃的数据,等等。
实验报告上要体现输入的各种数据运行的效果。
【任务1】教材PROGRAMMINGEXERCISES11.1
【任务2】用接口设计并实现面积与周长计算
【要求】请按照以下要求,设计方案并实现相应功能。
①定义一个接口,其中包含一个计算面积的抽象方法和一个计算周长的抽象方法;②输入数据为圆的半径、三角形的三条边长、矩形的长和宽,对于用户的输入要有友好提示;③程序能够排除输入过程中的非法数据(如:
输入的长度数据为负数或字符;输入的三角形三条边数据不能组成三角形;④计算圆、三角形、矩形的面积和周长,并输出原始数据和结算结果。
实验四图形用户界面应用(6课时)
一、实验目的
1.掌握Java图形用户界面的概念、设计与应用。
2.熟悉标签、文本框、文本行、按钮等组件的应用方法。
3.掌握Java中的事件处理机制。
4.掌握Java中Math类中数学函数(例如:
sin(x)、cos(x)、round(x)、sqrt(x)等)方法的应用,以及输出数据格式处理的技能。
5.采用任务驱动法,学会使用Java提供的各种图形界面设计类进行设计。
二、实验要求
实验课之前,认真复习教材上关于图形用户界面设计的例题,,对计算器的功能进行分析,设计好计算器的界面和功能。
该程序较复杂,同学们更要按照要求,对每个类、每个方法标注有功能说明,其说明用文档注释方式表示/*……*/。
三、实验内容
(一)认真学习教材上源程序和课后复习题,偶数编程题。
(二)编程设计题(本题应在实验报告上完成,应提交实验源代码,实验运行数据及运行结果)
根据以下任务的要求,自己设计方案,并实现任务的目标,并且至少使用三组数据进行测试,这些输入的数据应该考虑到各种情况,包括边界条件、完全不符合要求的数据、能够正常运行的多种情况数据、有可能造成程序崩溃的数据,等等。
实验报告上要体现输入的各种数据运行的效果。
【任务1】教材PROGRAMMINGEXERCISES12.5
【任务2】教材PROGRAMMINGEXERCISES13.2
【任务3】教材PRO