Java程序设计实习指导书.docx
- 文档编号:26985495
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:124
- 大小:2.82MB
Java程序设计实习指导书.docx
《Java程序设计实习指导书.docx》由会员分享,可在线阅读,更多相关《Java程序设计实习指导书.docx(124页珍藏版)》请在冰豆网上搜索。
Java程序设计实习指导书
第一章Java语言实验机器与环境
1.1计算机的硬件配置
PC系列微机,包括286、386、486、奔腾及各种兼容机,要求内存为64M以上,一个硬盘驱动器和一个软盘驱动器。
80列字符监视器。
配备鼠标器。
1.2计算机的软件配置
DOS6.22或Windowsxp、Windows2000。
安装软件jdk-1_5_0-windows-i586.exe
1.3JDK1.5.0的安装和设置
1.3.1下载jdk-1_5_0-windows-i586.exe
JDK开发工具包可以免费下载。
下载网址——
下载如下文件:
jdk-1_5_0-windows-i586.exe。
1.3.2安装jdk-1_5_0-windows-i586.exe
由于目前大多数用户使用的是Windowxp操作系统,所以我们以在Windowxp操作系统上安装jdk-1_5_0-windows-i586.exe为例,说明安装jdk-1_5_0的过程。
jdk-1_5_0-windows-i586.exe是一个自解压文件,双击它就可以解压缩,同时进行安装工作,双击jdk-1_5_0-windows-i586.exe,文件会自动解压缩,如图2.1所示。
图1.1jdk-1_5_0-windows-i586.exe的解压过程
解压缩工作完成之后,会出现JDK1.5.0的许可协议,如图1.2所示
图1.2选择许可协议界面
点击“next”按钮,出现如图1.3所示对话框,用户可选择要安装的组件及选择安装目录。
点击“change”,可改变安装目录。
图1.3组件的选择
选好后,点击“next”按钮,开始安装,如图1.4所示。
图1.4安装进度界面
运行环境设置及安装,如图1.5所示。
图1.5安装过程界面
单击“Next”按钮,出现如图1.6所示对话框,选择浏览器,选中后,单击“Next”按钮继续安装。
图1.6选择浏览器界面
最后出现如图1.7所示界面,单击“finish”按钮结束安装。
图1.7安装结束界面
1.4配置环境变量
1.方法一
平台为Windows2000时,需要修改系统根目录下的autoexec.bat文件。
使用记事本或其它文本编辑器打开文件autuexec.bat,在该文件的最后增加如下两行
SETPATH=%CLASSPATH%;.;C:
\ProgramFiles\Java\jdk1.5.0_04\jre\lib\rt.jar
SETPATH=%PATH%;C:
\ProgramFiles\Java\jdk1.5.0_04\bin;
其中,环境变量path和classpath分别指定了JDK命令搜索路径和Java类路径。
在这里我们假设JDK安装在C:
\ProgramFiles\Java\jdk1.5.0_04目录下,JDK的所有命令都放在C:
\ProgramFiles\Java\jdk1.5.0_04\bin目录下。
设置环境变量path的作用是使DOS操作系统可以找到JDK命令。
设置环境变量classpath的作用是告诉Java类装载器到哪里去寻找第三方提供的类和用户定义的类。
JVM和其它JDK工具通过依次搜索平台库、库扩展和类路径来查找类。
如果用户在安装jdk1.5.0时,选择了另外的JDK安装路径,则环境变量path和classpath要作相应的调整。
2.方法二
右单击“我的电脑”,选择“属性”,出现如图1.7对话框,选择“高级”选项卡,选择其中的“环境变量”,出现如图1.8对话框,在系统变量中建立或设置环境变量。
在“变量名”对话框中输入环境变量名,在“变量值”对话框中输入相关值得路径。
设置过程如图1.9、图1.10所示,设置完成后,单击“确定”完成设置。
图1.7系统属性对话框
图1.8设置环境变量
图1.9新建环境变量path
图1.10新建环境变量classpath
1.5测试安装
环境变量设置完成后,重新启动计算机,在DOS窗口下,敲入javac并回车后,如果出现Javac的用法参数提示信息,则安装正确。
否则要检查环境变量设置是否正确。
1.6使用EclipseIDE编译与运行程序
使用EclipseIDE软件可以很方便地进行编译和运行程序的工作,但如果程序有交互的功能,还需要安装其它插件。
1.下载eclipse-SDK-3.2-win32.zip到你的计算机
将文件eclipse-SDK-3.2-win32.zip拷贝到C:
盘根目录下,然后右单击该文件将其解压到当前文件夹下,如图1.11所示。
解压后的目录结构如图1.12所示。
图1.11解压操作界面
图1.12解压后的目录结构图
2.测试安装
双击C:
\eclipse\eclipse.exe文件,可看到如图1.13所示启动界面。
图1.13eclipse启动界面
改变工作目录如图1.14所示。
图1.14选择工作区界面
选择好工作空间以后,单击“确定”按钮,如果能看到如图1.15所示界面,则安装成功。
图1.15选择工作区界面
第二章JDK开发工具简介及Java程序开发步骤
在jdk1.5.0的bin目录下,存放着Java2提供的一些可执行程序,为我们开发和测试Java程序提供了工具。
在我们的学习中,常用的JDK开发工具有如下几种:
(1)javac.exe:
Java语言的编译器。
(2)java.exe:
Java程序执行引擎。
(3)appletviewer:
小应用程序浏览器。
在使用Eclipse之前,必须熟练掌握这些工具的用法。
2.1编辑运行Java程序
单击“文件新建项目…”,如图2.1所示。
图2.1新建项目界面
选择了项目后出现如下界面,选择“Java项目”后单击“下一步”。
图2.2新建Java项目界面
在图2.3所示界面中,在“项目名”一栏中,填入“SimpleJavaProgram”其它使用缺省值。
单击下一步,出现如图2.4所示界面。
图2.3新建Java项目界面
图2.4新建Java项目界面
在如图2.4所示界面中单击“库”选项卡,出现如图2.5所示界面,确保JRE设置没问题。
单击“完成”按钮。
图2.5新建Java项目界面
2.2在Eclipse中运行java程序
在包资源管理器中右单击“SimpleJavaProgram”项目如图2.6所示,点击“新建类…”,弹出如图2.7所示界面。
图2.6新建Java类界面
图2.7新建Java类界面
在图2.7所示界面中在“名称”一栏中填写“HelloChina”,其它设置如图2.7所示。
单击“完成”。
在包资源管理器中查看源程序如图2.8及图2.9所示。
图2.8包资源管理器中结构图
图2.9代码视图
在包资源管理器中右单击“HelloChina.java”,如图2.10所示点击“运行方式Java应用程序…”,运行结果如图2.11所示。
图2.10运行界面
图2.11运行界面
第三章实验内容
实验一熟悉Java的编程环境
1.实验目的
(1)掌握使用JDK开发Java程序的步骤。
(2)掌握Java程序的基本语法;熟练运用java的三个工具编译或运行程序。
2.实验内容
实验题1按下面步骤进行实验
(1)开机后,创建目录d:
\java。
把这个目录作为我们的工作目录。
我们的Java源程序、编译后的字节码文件和用来运行JavaApplet的html文件都放在这个目录中。
(2)启动EditPlus或其它编辑软件编写源代码.
publicclassArithmaticTest
{publicstaticvoidmain(Stringargs[])
{inta=9;intb=-a;
inti=0;intj=i++;
intk=++j;
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("i="+i);
System.out.println("j="+j);
System.out.println("k="+k);
}
}
如果你使用的是EditPlus,那么可以看到如图3.1的编辑结果:
图3.1EditPlus编辑器界面
(3)保存程序。
注意:
保存源程序时,程序名要与主类名一致。
所以用ArithmaticTest.java作为本程序的文件名。
如果用记事本编写程序,因记事本默认的扩展名是.txt,所以要给文件名加引号后保存。
把该文件保存到目录D:
\java中。
(4)编译程序
图3.2application程序的编译界面
如果编译成功,则在D:
\java目录中生成字节码文件ArithmaticTest.class。
如果不成功,则显示错误信息,用户可修改错误,
(5)运行程序
图3.3application程序的运行界面
(6)观察程序的运行结果
实验题2用ECLIPSE开发实现HelloWorld!
程序。
实验题3求解一元二次多项式的根:
将不同的a,b,c值硬编码到程序中,测试你的程序,观察输出结果。
如:
a=1,b=2,c=1
a=0,b=1,c=1
a=1,b=1,c=1
……
实验题4排序和查找
给定一个数组:
inta[]={28,39,49,78,23};//你可以用任意的测试数据
请对数组中的元素进行排序。
给定一个数字x=49,
请在排序后的数组中查找该元素。
要求:
*最好使用折半查找
*排序和查找自己写函数实现,不要使用标准API。
实验题5输出九九乘法表
要求:
*格式对齐
*不允许仅用输出语句实现。
实验二面向对象编程
(1)
1.实验目的
掌握Java程序面向对象编程的基本架构,会运用面向对象的思想编写Java程序。
2.实验内容
实验题1阅读如下程序,完成思考题。
classCCircle
{doublepi;
doubleradius;
doublegetRadius()
{returnradius;
}
voidsetCircle(doubler,doublep)
{pi=p;
radius=r;
}
}
publicclassEx2_1
{publicstaticvoidmain(Stringargs[])
{CCirclecir1=newCCircle();
cir1.setCircle(2.0,3.1416);
System.out.println("radius="+cir1.getRadius());
}
}
[基本要求]运行程序并观察运行结果。
运行结果:
radius=2.0
[思考问题]试述程序中主要语句的作用。
在类CCircle中setCircle()函数的作用是给类中的变量pi和radius赋值。
getRadius()函数的作用是返回Radius的值。
CCirclecir1=newCCircle()的作用是定义一个CCircle类型的类cir1。
cir1.setCircle(2.0,3.1416)函数的作用是给类中的变量pi和radius赋值分别为2.0,3.1416。
System.out.println("radius="+cir1.getRadius())作用:
输出radius的值为cir1.getRadius()的返回值。
实验题2设计一个用来描述汽车的类,使用类的非静态成员变量来表示汽车的车主姓名、当前的速率和当前方向盘的转向角度,使用类的非静态成员方法来表示改变汽车的速率和停车两个操作。
实验题3定义一个类MyProgram,包含两个属性:
一个是private的整型属性data、一个是private的String类型的属性str,封装这两个属性的四个方法setData()和getData()、setStr()和getStr();将这两个属性转变为字符串的方法是toStr()。
编写程序,使用MyProgram类,实现数据的访问和修改,并调用toStr()方法显示该类的属性。
[基本要求]编写完整程序。
[思考问题]试述程序中各个方法的作用。
setData()的作用是设置Data的值,getData()的作用是获取Data的值。
setStr()的作用是设置str的值,getStr()的作用是获取str的值。
toStr()的作用是将非字符串类型的数据转化为字符串类型的数据。
实验题4定义一个类实现银行帐户的概念,包括的变量有"帐号"和"存款余额",包括的方法有"存款"、"取款"、"查询余额"和”显示帐号”。
定义主类,创建帐户类的对象,并完成相应操作。
提示:
关键代码如下:
publicintgetleftmoney(){
returnleftmoney;
}
publicvoidsavemoney(doublemoney){
leftmoney+=money;
}
publicvoidgetmoney(doublemoney){
if(money<=leftmoney)
leftmoney-=money;
else
System.out.println("只能取:
"+leftmoney);
}
…
bankaccountba=newbankaccount(888123,1000);
ba.savemoney(21000);
System.out.println("存入21000元后余额为:
"+ba.getleftmoney());
ba.getmoney(11500);
System.out.println("11500元后余额为:
"+ba.getleftmoney());
实验题5定义链表类,实现单链表基本操作。
提示:
关键代码如下:
publicclassNode{
publicintdata;
Nodenext;
publicNode(intdata){
this.data=data;
this.next=null;
}
publicvoidNodeDisplay(){
System.out.println("{"+data+"}");
}
}
publicclassLink{
privateNodefirst;
publicLink(){
this.first=null;
}
publicbooleanisEmpty(){}
publicvoidinsertHeadNode(intdata){}
publicNodedeleteHeadNode(){}
publicvoidfindNode(intk){}
publicvoiddisplayLink(){}
publicstaticvoidmain(String[]args){}
}
实验三面向对象编程
(2)
1.实验目的
(1)掌握Java中的继承机制及包(package)、接口(interface)等的设计方法。
(2)掌握static、this、super等关键字的使用。
2.实验内容
实验题1有图形类的父类Shape,参照圆Circle类补充完整正方性Square和三角形Triangle类,并分析运行结果。
classShape{
voiddraw(){}
voiderase(){}
}
classCircleextendsShape{
voiddraw(){System.out.println("Circle.draw()");}
voiderase(){System.out.println("Circle.erase()");}
}
classSquareextendsShape{
voiddraw(){System.out.println("Square.draw()");}
voiderase(){System.out.println("Square.erase()";}
}
classTriangleextendsShape{
voiddraw(){System.out.println("Triangle.draw()");}
voiderase(){System.out.println("Trianglee.erase()";}
}
publicclassShapes{
publicstaticShaperandShape(){
switch((int)(Math.random()*3)){
default:
//Toquietthecompiler
case0:
returnnewCircle();
case1:
returnnewSquare();
case2:
returnnewTriangle();
}
}
publicstaticvoidmain(String[]args){
Shape[]s=newShape[9];
//Fillupthearraywithshapes:
for(inti=0;i s[i]=randShape(); //Makepolymorphicmethodcalls: for(inti=0;i s[i].draw(); } } 运行结果: Circle.draw() Triangle.draw() Triangle.draw() Square.draw() Circle.draw() Circle.draw() Square.draw() Triangle.draw() Square.draw() Circle.erase() Triangle.erase() Triangle.erase() Square.erase() Circle.erase() Circle.erase() Square.erase() Triangle.erase() Square.erase() Cricle、Triangle、Square类继承于Shape类。 而在类Shapes方法rangShape()中,利用Switch语句,实现了对象的上转型,子类继承了父类的draw()和erase()方法,并调用各自重写的方法。 Math.random()产生随机数1、2。 随机数*3可实现对三个子类的创建。 实验题2有两个类: MobileManagement和Mobile,分别描述如图3.7所示两部手机名称及价格,类MobileManagement在包cn.edu.nwsuaf.jp.p3中,而Mobile在包cn.edu.nwsuaf.jp.p3.data中。 它们代码如下。 运行MobileManagement.java,你应该看到如图3.8所示结果。 [基本要求]在空白处填写相关代码并修改上面程序,使程序能够显示两部手机的价格和数量,运行结果如图3.9所示。 E365,1780RMBM330,1450RMB 图3.4手机及价格图 图3.5运行结果图 程序Mobile.java源代码: publicclassMobile{ /**Holdsthenameofthemobile.*/ privateStringname; /**Holdsthepriceofthemobile.*/ privatefloatprice; /**Createsanewmobileobject.*/ publicMobile(Stringname,floatprice){ this.name=name; this.price=price; } /**Getsthenameofthemobile.*/ publicStringgetName(){ returnname; } /**Getsthepriceofthemobile.*/ publicfloatgetPrice(){ returnprice; } } 程序MobileManagement.java源代码: importjavax.swing.JOptionPane; publicclassMobileManagement{ /**Definestheentrypointoftheapplication.*/ publicstaticvoidmain(String[]args){ //Createstwomobilephoneobjects. Mobilemobile1=newMobile("E365",1780); Mobilemobile2=newMobile("M330",1450); //Displaysthetwomobilephonesinadialogbox. JOptionPane.showMessageDialog(null,"Mobilephones: \n\n"+mobile1.getName()+"\n"+mobile2.getName()); } } 图3.6运行结果图 运行结果: 实验题3有四个类,主类Store在包cn.edu.nwsuaf.jp.p4中,Mobile、Mp3Player、Product在包cn.edu.nwsuaf.jp.p4.data中,Mobile、Mp3Player是Product的子类,Product和Store代码如下: Store.java源代码: packagecn.edu.nwsuaf.jp.p4; importjava.util.Arrays; importjavax.swing.JOptionPane; importcn.edu.nwsuaf.jp.p4.data.Mobile; importcn.edu.nwsuaf.jp.p4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 实习 指导书