Java实验报告.docx

上传人:b****2 文档编号:2026479 上传时间:2023-05-02 格式:DOCX 页数:15 大小:47.91KB
下载 相关 举报
Java实验报告.docx_第1页
第1页 / 共15页
Java实验报告.docx_第2页
第2页 / 共15页
Java实验报告.docx_第3页
第3页 / 共15页
Java实验报告.docx_第4页
第4页 / 共15页
Java实验报告.docx_第5页
第5页 / 共15页
Java实验报告.docx_第6页
第6页 / 共15页
Java实验报告.docx_第7页
第7页 / 共15页
Java实验报告.docx_第8页
第8页 / 共15页
Java实验报告.docx_第9页
第9页 / 共15页
Java实验报告.docx_第10页
第10页 / 共15页
Java实验报告.docx_第11页
第11页 / 共15页
Java实验报告.docx_第12页
第12页 / 共15页
Java实验报告.docx_第13页
第13页 / 共15页
Java实验报告.docx_第14页
第14页 / 共15页
Java实验报告.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Java实验报告.docx

《Java实验报告.docx》由会员分享,可在线阅读,更多相关《Java实验报告.docx(15页珍藏版)》请在冰点文库上搜索。

Java实验报告.docx

Java实验报告

Java程序设计实验报告

实验一Java开发环境的安装与配置

一实验目的与要求

1.熟悉安装和配置JDK开发环境

2.熟悉安装和配置IDE开发工具

3.掌握Java程序编辑、编译和运行的过程

4.掌握Java程序的构成特点

5.总结在调试过程中的错误。

二实验环境

应用软件:

Jdk1.5.0,jcreator

操作系统:

window2000以。

三实验思考

1什么是JVM,它的作用是什么?

答:

JVM是Java虚拟机,它是编译后的Java程序和硬件系统之间的接口。

我们可以把JVM看做一个虚拟的处理器。

它不仅解释执行编译后的Java指令,而且还对其进行安全检查。

2简单总结一下一个Java程序的基本结构。

答:

(1)一个包的声明

(2)任意数量的引入语句(3)类的声明和接口的声明。

四实验内容

1按照下面的步骤设置环境变量path

(1)找到机器上已安装的jdk的所在路径。

C:

\j2sdk1.4.2_14

(2)找到它的子目录bin,在该目录下应该包含java.exe,javac.exe,appletviewer等应用程序。

记录下bin的完整路径。

C:

\j2sdk1.4.2_14\bin

(3)切换到windows的命令行方式,在默认的目录下,输入命令java,记录结果。

关闭命令行方式。

MicrosoftWindowsXP[版本5.1.2600]

(C)版权所有1985-2001MicrosoftCorp.

(4)右键点击“我的电脑”,打开“属性”->“高级”->“环境变量”,找到Path变量,

点击编辑按钮,在弹出的编辑对话框里,将步骤2的路径添加到尾部。

(5)重新打开命令行方式,输入java–version,如果正确显示java的版本号,则

说明环境设置成果。

MicrosoftWindowsXP[版本5.1.2600]

(C)版权所有1985-2001MicrosoftCorp.

C:

\DocumentsandSettings\user>java-version

javaversion"1.4.2_14"

Java(TM)2RuntimeEnvironment,StandardEdition(build1.4.2_14-b05)

JavaHotSpot(TM)ClientVM(build1.4.2_14-b05,mixedmode)

C:

\DocumentsandSettings\user>

(6)将以上过程以及你设置的path变量值填写到实验报告中,并解释一下为什么一定要设置该环境变量。

Path变量值为:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem%JAVA_HOME%\bin;%JAVA_HOME%\bin;C:

\ProgramFiles\Java\jdk1.5.0

在环境变量里设置了,程序就会到那里查找要执行的方法的路径,可在任意位置执行JDK相关命令。

2打开windows自带的记事本,输入下面的代码:

publicclassHelloWorld{

publicstaticvoidmain(String[]args){

System.out.println(“hello,world!

”);

System.out.print(“hello,”);

System.out.print(“world!

”);

}

}

(1)将文件保存为HelloWorld.java,记录下文件所在的位置。

(2)切换到命令行方式,通过“cd”命令转至刚保存的文件所在路径下。

(3)输入javacHelloWorld.java进行编译。

(4)如果有错误发生,核对是否有错拼和漏拼。

如果没有错误,查看同一文件夹下是否

多出了一个名为“HelloWorld.class”的文件。

(5)继续在命令行下输入javaHelloWorld,观察输出的结果。

输出结果为:

hello,world!

Hello,world!

(6)将以上过程和结果填写到实验报告中。

3打开Jcreator程序。

(1)打开“config”(配置)菜单中的options(选项)选项,在选修窗口里找到“jdkprofiles”(JDK配置文件)选项,查看其中的的jdk路径是否是机器中安装的jdk路径,如果不是,需要修改为该路径。

(2)打开“file”菜单下的new->file,点击“filetype”,设置为javafile,点击filepath,设置路径,并填写文件名HelloWorld。

(3)输入上面的HelloWorld的代码。

(4)点击bulid菜单下的compile(编译文件)命令,观察输出。

(5)在编译无错的前提下,点击bulid菜单的“execute”(执行项目)命令,观察输出结果。

输出结果为:

hello,world!

Hello,world!

4以下对HelloWorld程序的源码做一些小的调整,需要记录下各种错误信息。

实验环境可以在记事本中进行,也可以在Jcreator中进行。

(1)将文件另存为Hello.java,进行编译,记录出错信息。

在保留Hello.java作为文件名的前提下,如何改正该错误?

出错信息为:

Hello.java:

1:

classHelloWorldispublic,shouldbedeclaredinafilenamedHel

loWorld.java

publicclassHelloWorld{

1error

将“publicclassHelloWorld”中的HelloWorld改为Hello

(2)在源程序里,将class关键字去除,编译并记录出错信息。

出错信息为:

’class’or’interface’expected

(3)将main方法全部注释掉,编译并执行,记录出错信息。

expectedHello.javaD:

\3行

expectedHello.javaD:

\4行

expectedHello.javaD:

\5行

‘class’or’interface’expectedHello.javaD:

\7行

‘class’or’interface’expectedHello.javaD:

\7行

(4)将System的首字母改为小写的s,编译并记录出错信息。

packagesystemdoesnotexistHello.javaD:

\3行

packagesystemdoesnotexistHello.javaD:

\4行

packagesystemdoesnotexistHello.javaD:

\5行

^.

(5)将class关键字前的public去除,编译执行,记录出错信息。

没有错误,能够执行。

实验二Java基础编程

一实验目的与要求

1.掌握类的方法定义,掌握在main方法中创建类的实例,以及如何使用实例

2.学会编写简单的类。

二实验环境

应用软件:

Jdk1.5.0,jcreator

操作系统:

window2000以上

三实验思考

1一个空对象(没有方法、没有成员)有没有大小?

答:

有大小。

2对“引用”这种类型做一下简单的描述或者定义。

答:

“引用”是一个变量,它存放的是普通类型的数据或者是其它对象或变量的地址。

四实验内容

1定义一个类FactorApp,

(1)添加一个方法intfactor(intn),在该方法中实现计算n的阶乘。

(2)程序应该阻止n<0。

(3)添加main方法,在main方法中,生成FactorApp的实例,调用实例的方法factor。

计算并输出结果。

classFactorApp{

privateintn;

FactorApp(intj){

n=j;

}

publicintfactor(intn){

if(n<0){System.out.println("error输入数据小于零");

return-1;

}

elseif(n==0)return1;

elsereturnn*factor(n-1);

}

}

publicclassZhou{

publicstaticvoidmain(Stringargs[]){

FactorAppfactor1=newFactorApp(5);

System.out.println("5的阶乘为:

"+factor1.factor(5));

}

}

2编写一个方法,实现将数组后移一位。

比如原数组为:

Array:

1221

→01221

publicclassArray{

publicvoidArray(int[]array){

for(inti=(array.length-1);i>0;i--){

array[i]=array[i-1];

}

array[0]=0;

}

publicstaticvoidmain(String[]args){

Arraymove=newArray();

intarray1[]=newint[30];

for(intk=0;k<=5;k++)

{array1[k]=k+1;

}

move.Array(array1);

for(intj=0;j

System.out.print(array1[j]+"");

}

}

3编写类Point以及测试类Pointtest,在Point类中:

(1)添加私有整型变量x,y,代表point的坐标。

(2)为每个变量增加get-成员方法。

(3)在PointTest类中实例化Point对象,并输出x,y的值,记录并分析该值。

(4)修改Point类。

添加构造器Point(intx,inty)。

(5)在PointTest类中采用缺省构造器构造Point对象,编译,记录出错信息。

出错信息:

cannotfindsymbolconstructorPoint();

(6)按照带参构造器来构造Point对象。

试着传递以不同类型的值(8种基本类型),看看类型转换中可能出现的问题。

(7)重载构造器为Point(Pointp),即允许用另一个Point对象来初始化。

(8)添加成员方法print,打印格式形如:

Point(2,3)

(9)添加成员方法move(x,y),可以将坐标调整至(x,y)。

(10)添加静态方法distance(Pointp1,Pointp2),计算并输出两点的距离。

importjava.lang.Math;

publicclassPoint{

privateintx,y;

publicPoint(intx,inty){

this.x=x;

this.y=y;

}

publicPoint(Pointp){

x=p.x;

y=p.y;

}

intget_x(){

returnx;

}

intget_y(){

returny;

}

voidprint(){

System.out.println("点坐标为:

");

System.out.println("P("+get_x()+","+get_y()+")");

}

staticvoiddistance(Pointp1,Pointp2){

doubleresult=Math.sqrt((p1.get_x()-p2.get_x())*(p1.get_x()-p2.get_x())+(p1.get_y()-p2.get_y())*(p1.get_y()-p2.get_y()));

System.out.println(result);

}

voidmove(intx,inty){

this.x=x;

this.y=y;

}

}

classCircleextendsPoint{

privateintradius;

publicCircle(intx,inty,intradius){

super(x,y);

this.radius=radius;

}

voidmove(intx,inty){

super.move(x,y);

this.radius=radius+1;

}

staticvoiddistance(Circlec1,Circlec2){

doubleresult=Math.sqrt((c1.get_x()-c2.get_x())*(c1.get_x()-c2.get_x())+(c1.get_y()-c2.get_y())*(c1.get_y()-c2.get_y()));

System.out.println(result);

}

}

classPointTest{

publicstaticvoidmain(String[]args){

Pointp1=newPoint(2,3),p2=newPoint(p1);

Circlec1=newCircle(1,2,3);

c1.move(3,4);

System.out.println("x="+c1.get_x());

System.out.println("y="+c1.get_y());

p1.move(3,4);

p1.distance(p1,p2);

p1.print();

System.out.println("x="+p2.get_x());

System.out.println("y="+p2.get_y());

}

}

实验三Java的面向对象的编程

一实验目的与要求

1学习标准输入的方法

2学习Java中的面向对象编程的思想。

3练习复杂点的程序设计

二实验环境

应用软件:

Jdk1.5.0,jcreator

操作系统:

window2000以上

三实验思考

1学会Jdk帮助文档的使用。

2继承有哪些好处?

增强了代码的重用性.、增强了代码的维护性、Java为用户提供了丰富的类库,用户可以通过继承类库中类来构建自己的类,从而缩短用户的开发周期。

3简单总结目前为止你见到的Java与C++的差别。

(1)Java中没有指针;

(2)不支持多重继承,但允许一个类继承多个接口;

(3)Java是完全面向对象的语言,所有函数和变量部必须是类的一部分。

除了基本数据类型之外,其余的都作为类对象。

四实验内容

1扩展上一个实验的Point类为Circle类,要求:

(1)增加成员radius(半径).

(2)设计它的构造器

(3)move方法要求每次移动后,半径增加1。

(4)在测试类中实例化该对象,并打印相关信息。

(5)在测试类中计算两个圆的距离(即两个圆心的距离)。

classCircleextendsPoint{

privateintradius;

Circle(inta,intb,intc){

super(a,b);

radius=c;

}

publicvoidmove(){

radius++;

}

publicintgetradius(){

returnradius;

}

}

publicclassGraphTest{

publicstaticdoubledistance(Circlep1,Circlep2){

System.out.println(Math.sqrt((p1.getx()-p2.getx())*(p1.getx()-p2.getx())+(p1.gety()-p2.gety())*(p1.gety()-p2.gety())));

return0;

}

publicstaticvoidmain(Stringargs[]){

Circlecircle1=newCircle(1,2,3);

Circlecircle2=newCircle(2,3,4);

System.out.println("x="+circle1.getx()+","+"y="+circle1.gety()+",radius="+circle1.getradius());

distance(circle1,circle2);

}

}

2利用以下代码,练习输入其他基本类型的数。

importjava.io.*;

publicclassIOTester{

publicstaticvoidmain(String[]args)throwsIOException{

BufferedReaderreader=newBufferedReader(newInputStreamReader(System.in));

inti=Integer.parseInt(reader.readLine());

Boolean.parseBoolean

System.out.println(i);

}

}

(1)读取小数型的值。

(2)读取bool型的值

(3)读取字符串

C

O

M

3编写一个猜单词位置的程序。

单词由三个字母组成,单词放在一个由7个格组成的容器内。

单词的起始位置随即产生。

要求用户输入字母的位置(从0-7),如果正确输出hitted,错误输出missed。

全部正确,输出finished,并退出。

(本题需附上源代码,没有完成可以附上部分源代码)。

importjava.util.*;

classlettergame

{privatecharletter;

privateintposition;

publiclettergame(chara,intb)

{letter=a;

position=b;

}

publicbooleanguesslocation(intlocation1){

returnposition==location1;

}

}

publicclassZhou{

publicstaticvoidmain(String[]args)

{lettergameest[]=newlettergame[3];

intj=0;inta=(int)(Math.random()*7);intb=(int)(Math.random()*7);intc=(int)(Math.random()*7);

while(a!

=b&&a!

=c&&b!

=c){

est[0]=newlettergame('C',a);est[1]=newlettergame('O',b);est[2]=newlettergame('M',c);

Scannerscanner=newScanner(System.in);

System.out.println("guessthepositionofwordcomfrom0to7");

for(inti=0;i<3;i++)

{if(!

est[i].guesslocation(scanner.nextInt()))System.out.println("missed");

else{

System.out.println("hitted");j++;

}

if(j==3)System.out.println("finished");

}

}

}

}

《Java程序设计实验报告》

 

学院:

计算机与信息学院

专业班级:

通信08-2班

学号:

20082487

学生姓名:

唐超

任课教师:

刘政

完成日期:

2009-11-4

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 家庭教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2