Java实验报告.docx

上传人:b****5 文档编号:4935760 上传时间:2022-12-11 格式:DOCX 页数:26 大小:249.31KB
下载 相关 举报
Java实验报告.docx_第1页
第1页 / 共26页
Java实验报告.docx_第2页
第2页 / 共26页
Java实验报告.docx_第3页
第3页 / 共26页
Java实验报告.docx_第4页
第4页 / 共26页
Java实验报告.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

Java实验报告.docx

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

Java实验报告.docx

Java实验报告

目录

实验一设置java运行环境并编写简单java程序2

实验题目2

实验目的2

实验步骤2

实验总结6

实验二java程序设计类与方法7

实验题目7

实验目的7

实验步骤7

实验总结14

实验三Java图形用户界面设计15

实验题目15

实验目的15

实验步骤15

实验总结18

实验四多线程应用19

实验题目19

实验目的19

实验步骤19

实验总结21

实验五网络编程22

实验题目22

实验目的22

实验步骤22

实验总结25

实验一设置java运行环境并编写简单java程序

实验题目

1.下载、安装并设置JavaSDK软件包

2.清楚Java命令行编程环境JDK的配置和使用; 

3.掌握Application程序的输入、输出、结构和命名;

4.编写一个简单的Java程序; 

实验目的

1.掌握Java软件包的安装

2.重点掌握Java运行环境的配置

3.掌握运行java程序的步骤

4.编写Java  源程序

5.为进一步学习java语言做准备

实验步骤

一、实验环境:

硬件要求:

CPUPⅡ以上,64MB内存,100MB硬盘

软件要求:

Windows98/Me/XP/NT/2000,IE5以上

二、实验过程:

(一)SDK的下载与安装

1.下载SDK

在浏览器中输入

2.安装SDK

安装该软件包,在安装过程中可以设置安装路径C:

\ProgramFiles\Java,也可以自己设置安装路径,一定要记住安装的路径,以备配置环境时使用。

5.查看SDK的主要文件夹和文件

(二)设置环境变量

1.设置WindowsXP/NT/2000

1)在Window桌面上右击“我的电脑”,选择“属性”,打开“系统属性”对话框,选择“高级”选项卡,如图:

2)点击“环境变量”按钮,进入“环境变量”设置对话框。

如图:

3)在“系统变量”中新建classpath变量,编辑path变量。

例如在“系统变量”框中选择path,单击“编辑”按钮,在出现的“编辑系统变量”对话框的“变量值”文本框中添加“C:

\ProgramFiles\Java\jdk1.5.0_15\bin”(看自己的实际安装路径)。

如图:

4)然后新建“classpath”变量,其值为“C:

\ProgramFiles\Java\jdk1.5.0_15\lib\tools.jar”(看自己的实际安装路径),如图:

2.查看配置是否成功

设置完成后,单击“开始——>所有程序——>附件——>命令提示符”,打开“命令提示符”窗口,在命令提示符下敲入java或javac,出现其用法参数提示信息,安装正确。

如图:

(三)编写源程序

1.现在E:

盘下建立文件夹java,用来存放java源程序。

2.打开记事本(或其它可编辑软件),编写一个显示“ILoveInternet”的javaApplication程序并运行

写入如下源程序:

publicclassc1_8

{publicstaticvoidmain(Stringargs[])

{

System.out.println("ILoveInternet!

");

}

}

运行结果:

F:

\mqc>javacc1_8.java

F:

\mqc>javac1_8

ILoveInternet!

F:

\mqc>

1.编写一个显示“HelloInternet”的javaApplet程序并运行

程序如下:

importjava.awt.*;

importjava.applet.*;

publicclassc1_10extendsApplet

{publicvoidpaint(Graphicsg)

{

g.drawingString("HelloInternet!

",25,25);

}

}

运行结果:

实验总结

这次实验是我第一次使用JAVA来进行编写源程序,感觉很是不一样,在上课过程中我们学习了有关Java的一些简单知识。

但有许多的不理解,通过这次实验我对JAVA程序有了深一步明了,我认识了JAVA的运行环境,并学活了如何去配置JAVA环境,还编写了一个源程序,自己实践过便觉得很多理论知识更容易理解。

虽然过程中出现了错误以及必懂的地方,但是在通过查阅资料并询问老师修改后,能够正确运行。

我很开心并有了信心学号这门语言。

实验二java程序设计类与方法

实验题目

(1)编写一个求3*3矩阵对角元素之和javaapplication程序,要求用构造方法来实现对矩阵对角的初始化工作。

(2)利用方法重载,完成两个整形数相加、两个double型数相加,以及三个double型数相加。

(3)定义一个Person类包含“姓名”、“年龄”、“性别”等属性,“获得姓名”、“获得年龄”、“获得性别”等方法;再编写一个Student类,使其继承Person类,并输出学生的姓名和年龄。

(4)用抽象类来实现园和矩形的面积和周长(提示:

定义一个抽象类,其中有两个抽象的方法分别求周长和面积,另定义两个具体的类——园类和矩形类来继承抽象类实现具体的操作)

(5)完成一元二次方程求解

实验目的

(1)学习使用java面向对象程序设计方法。

(2)能够编写简单的类和使用类。

(3)使用类库中的常用类解决简单的编程应用问题。

实验步骤

1、实验环境:

硬件要求:

CPUPⅡ以上,64MB内存,100MB硬盘

软件要求:

Windows98/Me/XP/NT/2000,IE5以上

2、实验过程:

⑴实验步骤

a) 利用编辑器,编辑源文件

b) 利用java编译器对源程序进行编译

c) 利用java解释器运行编译后的字节码文件

⑵源代码

题目一

publicclassReload{

intadd(inta,intb)

{return(a+b);}

doubleadd(doublex,doubley)

{return(x+y);}

doubleadd(doublex,doubley,doublez)

{return(x+y+z);}

publicstaticvoidmain(Stringargs[]){

reloada=newreload();

System.out.println("sum1:

"+a.add(10.7,2.8));

System.out.println("sum2:

"+a.add(2,4));

System.out.println("sum3:

"+a.add(3.4,5.2,4.8));

}

}

其运行结果为:

题目二

classPerson{

Stringname;intage;Stringsex;

Person(Stringname,intage,Stringsex){

this.name=name;

this.age=age;

this.sex=sex;}

publicvoidgetname(){System.out.println("myname:

"+name);}

publicvoidgetage(){System.out.println("myage:

"+age);}

publicvoidgetsex(){System.out.println("mysex:

"+sex);}}

publicclassStudentextendsPerson{

Stringschool;

Student(Stringname,intage,Stringsex,Stringschool){

super(name,age,sex);

this.school=school;}

publicvoidgetschool(){System.out.println("myshcool:

"+school);}

publicstaticvoidmain(Stringargs[]){

Studentp=newStudent("liming",18,"男","交校");

p.getname();

p.getage();

p.getsex();

p.getschool();}}

其运行结果为:

题目三

abstractclassA{

abstractvoidArea();

abstractvoidLength();}

classCircleextendsA{

finaldoublei=3.1415926;

doubler;

Circle(doubler){this.r=r;}

voidArea(){System.out.println("圆面积为:

"+i*r*r);}

voidLength(){System.out.println("圆面积为:

"+2*i*r);}}

 

classAbs{

publicstaticvoidmain(Stringargs[]){Circlee=newCircle(5.4);

e.Area();

e.Length();}}

其运行结果如下:

题目四

importjava.math.*;

classComplexRoot{

doublea,b,disc;

publicComplexRoot(doublea,doubleb,doubledisc)

{

this.a=a;

this.b=b;

this.disc=disc;

}

voidPrint(){

doublereal=-b/(2*a);

doubleimage=Math.sqrt(-disc)/(2*a);

System.out.println("两个复根:

"+real+"+"+image+"i,"+real+"-"+image+"i");

}

}

classRealRoot{

doublea,b,disc;

RealRoot(doublea,doubleb,doubledisc)

{

this.a=a;

this.b=b;

this.disc=disc;

}

voidPrint()

{

System.out.println("两个实根:

"+((-b+Math.sqrt(disc))/(2*a))+

","+((-b-Math.sqrt(disc))/(2*a)));

}

}

classOneRoot{

doublea,b;

publicOneRoot(doublea,doubleb)

{

this.a=a;this.b=b;

}

voidPrint()

{

System.out.println("两个相等实根:

"+(-b/(2*a)));

}

}

publicclassEquation

{

doublea,b,c;

Equation(doublea,doubleb,doublec)

{

this.a=a;

this.b=b;

this.c=c;

}

voidSolve()

{

doubledisc=b*b-4*a*c;

if(Math.abs(disc)<1E-6){

OneRooto=newOneRoot(a,b);

o.Print();

}

elseif(disc>1E-6){

RealRootr=newRealRoot(a,b,disc);

r.Print();

}

else{

ComplexRootc=newComplexRoot(a,b,disc);

c.Print();

}}}

publicclassTest

{

publicstaticvoidmain(String[]args)

{

Equatione=newEquation(1,2,1);

e.Solve();

Equatione1=newEquation(2,2,1);

e1.Solve();

Equatione2=newEquation(1,5,1);

e2.Solve();

}

}

其运行结果如下:

实验总结

这次的实验我是用重载构造方法实现的,有类的继承,子类自称父类的所有属性,但被隐葬与被覆盖是完全不同的。

对于方法名相同;参数不同或类型不同的程序,进行了方法命名并且将一个类定义为抽象的讲该类的子类必须去实现他的抽象方法,这个对于我完成有很大的困难,失败了好几次,在同学的帮助下和老师的指导下圆满的完成了实验。

实验三Java图形用户界面设计

实验题目

创建一个简单的文本编辑器。

要求:

1.能够对字体大小、字体颜色进行设计

2.能够新建一个文档,并进行保存

3.能够打开一个文档,编辑后保存

实验目的

1.掌握图像用户界面的设计和实现过程

2.掌握菜单的创建和事件的处理

3.掌握对话框的使用

实验步骤

一、实验环境:

硬件要求:

CPUPⅡ以上,64MB内存,100MB硬盘

软件要求:

Windows98/Me/XP/NT/2000,IE5以上

二、实验过程:

1.分析程序功能:

创建一个简单的文本编辑器,可以打开文件对话框选择打开一个文件,并在文本区进行编译,然后将它保存起来

2.编写程序代码如下:

importjava.awt.*;

importjava.awt.event.*;

importjava.io.*;

importjavax.swing.*;

publicclassEditerextendsJFrameimplementsActionListener{

JFileChooserfc=newJFileChooser();//生成的打开文件对话框

Stringstr,s;

bytebyteBuf[]=newbyte[10000];

JMenuBarmb=newJMenuBar();

JMenum1=newJMenu("文件");

JMenum2=newJMenu("编辑");

JMenum3=newJMenu("字体");

JMenuItemnew1=newJMenuItem("新建");

JMenuItemopen=newJMenuItem("打开");

JMenuItemsave=newJMenuItem("保存");

JMenuItemexit=newJMenuItem("退出");

JMenuItemcopy=newJMenuItem("复制");

JMenuItemcut=newJMenuItem("剪切");

JMenuItempaste=newJMenuItem("粘贴");

JMenuItemf1=newJMenuItem("正常");

JMenuItemf2=newJMenuItem("斜体");

JMenuItemf3=newJMenuItem("粗体");

JTextAreata=newJTextArea();

Editer(){

setTitle("文本编辑器");

setSize(300,300);

setJMenuBar(mb);

mb.add(m1);

mb.add(m2);

mb.add(m3);

m1.add(new1);

m1.add(open);

m1.add(save);

m1.add(exit);

m2.add(copy);

m2.add(cut);

m2.add(paste);

m3.add(f1);

m3.add(f2);

m3.add(f3);

new1.addActionListener(this);

open.addActionListener(this);

save.addActionListener(this);

exit.addActionListener(this);

copy.addActionListener(this);

cut.addActionListener(this);

paste.addActionListener(this);

f1.addActionListener(this);

f2.addActionListener(this);

f3.addActionListener(this);

getContentPane().add("Center",ta);

show();

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==new1)

ta.setText(null);

if(e.getSource()==open){

intreturnVal=fc.showOpenDialog(this);

if(returnVal==JFileChooser.APPROVE_OPTION){

Filefile1=fc.getSelectedFile();

try{

FileInputStreamin=newFileInputStream(file1);

in.read(byteBuf);

in.close();

str=newString(byteBuf);

ta.setText(str);

}catch(IOExceptionie){}

}}

if(e.getSource()==save){

intreturnVal=fc.showSaveDialog(this);

if(returnVal==JFileChooser.APPROVE_OPTION){Filefile1=fc.getSelectedFile();

str=ta.getText();

byteBuf=str.getBytes();

try{

FileOutputStreamout=newFileOutputStream(file1);

out.write(byteBuf);out.close();

}catch(IOExceptionie){}}}

if(e.getSource()==exit)

System.exit(0);

if(e.getSource()==copy){

s=ta.getSelectedText();

//ta.copy();

}

if(e.getSource()==cut){

ta.cut();}

if(e.getSource()==paste)

ta.append(s);

//ta.paste();

if(e.getSource()==f1)

{

ta.setFont(newFont("Serif",Font.PLAIN,20));}

if(e.getSource()==f2)

{ta.setFont(newFont("Courier",Font.ITALIC,22));}

if(e.getSource()==f3)

{ta.setFont(newFont("TimesRoman",Font.BOLD,28));}}

publicstaticvoidmain(Stringargs[]){

newEditer();}}

3.保存为Editer.java,并进行编译和运行

实验总结

实验与在课堂的学习与很大的不同,听的时候很模糊,很难理解,动手时很生疏,但是在你试过一遍之后,所有的知识就可以连接到一起了,理解起来也容易了。

完成了小程序的编写,但是这对设计程序的过程还不够熟悉。

通过在网上查询资料以及询问老师客服了这些问题。

实验四多线程应用

实验题目

用继承Thread类和实现Runnable接口两种方法来实现创建两个线程,模拟左右手轮流写字。

实验目的

1.熟练掌握创建多线程的两种方法

2.掌握两种方法的区别

实验步骤

一、实验环境:

硬件要求:

CPUPⅡ以上,64MB内存,100MB硬盘

软件要求:

Windows98/Me/XP/NT/2000,IE5以上

二、实验过程:

1.利用继承Thread类实现,代码如下:

//ThreadDemo.java

publicclassThreadDemo

{

publicstaticvoidmain(String[]args)

{

Lefthandleft;

Righthandright;

left=newLefthand();

right=newRighthand();

left.start();

right.start();

for(inti=1;i<=6;i++)

{System.out.println("我是主线程");}

}

}

classLefthandextendsThread

{

publicvoidrun()

{

for(inti=1;i<=9;i++)

{

System.out.println("我是左手线程");

}

}}

classRighthandextendsThread

{

publicvoidrun()

{

for(inti=1;i<=9;i++)

{

System.out.println("我是右手线程");

}

}

}

3.将源文件保存为TreadDemo.java

4.利用编译器javac将其编译生成字节码文件TreadDemo1.class

6.利用java解释器java来查看结果。

7.利用实现Runnable接口:

//TreadDemo1.java

publicclassTreadDemo1

{

publicstaticvoidmain(String[]args)

{

Threadleft;

Threadright;

left=newThread(newLefthand());

right=newThread(newRighthand());

left.start();

right.start();

for(inti=1;i<=6;i++

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

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1