Java程序设计实验指导书(答案)_第1页
Java程序设计实验指导书(答案)_第2页
Java程序设计实验指导书(答案)_第3页
Java程序设计实验指导书(答案)_第4页
Java程序设计实验指导书(答案)_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第I部分:实验指导

实验1:Java开发环境J2SE

一、实验目的

(I)学习从网络上下载并安装J2SE开发工具。

(2)学习编写简单的JavaApplication程序.

(3)了解Java源代码、字节码文件,掌握Java程序的编辑、编译和运行过程.

二、实验任务

从网络上下载或从CD-ROM直接安装J2SE开发工具,编写简单的JavaApplication程序,编译并运

行这个程序。

三、实验内容

1.安装J2SE开发工具

Sun公司为所有的java程序员提供了一套免费的java开发和运行环境,取名为Java2SDK,可以

从://java.sun上进行下载。安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到

C:\j2sdkL4.l_03目录下。教师通过大屏幕演示J2SE的安装过程,以及在Windows98/2000/2003下环境变

量的设置方法。

2.安装J2SE源代码编辑工具EditPlus

教师通过大屏幕演示EdilPM的安装过程,以及在Windows98/2000/2003操作系统环境下编辑Java

原程序的常用命令的用法。

3.编写并编译、运行一个JavaApplicalion程序。

创建3个名为HelloWorldApp的javaApplication程序,在屏幕上简单的显示…句话"老师,你好!

publicclassHeiloWorldApp{

publicstaticvoidmain(Striig[]args){

System.oui.priniln("老师,你好!");

4.编译并运行下面的JavaApplication程序,写出运行结果。

1:publicclassMyClass{

2:privateintday;

3:privateintmonth;

4:privateintyear;

5:publicMyClass(){

6:day=I;

7:month=1;

8:year=1900;

9:)

10:publicMyClass(intm,inty){

11:day=d;

12:month=m;

13:year=y;

14:}

15:publicvoiddisplay(){

16:Systcm.out.prin(h(day++month++year);

17:)

18:publicstaticvoidmair;(Stringargs[]){

19:MyClassml=newMyClass();

20:MyClassm2=newMyClass(25,12,2001);

21:ml.displayO;

22:m2.display();

23:)

24:}

运行结果:

1-1-1900

25-12-2001

实验2:Java基本数据类型

一、实验目的

(1)掌握javadoc文档化工具的使用方法。

(2)掌握Java语言转义字符的功能。

(3)理解“值传递”的过程。

二、实验任务

(I)利用javadoc文档化工具,将给定的JavaApplication源代码自动生成一系列说明文档。

(2)输入、运行给定的JavaApplication程序,写出运行结果,以验证Java语言转义字符的功能。

(3)按照要求编写JavaApplication程序。

三、实验内容

1.Javadoc文档化工具的使用

Java2SDK1.4.1中提供了•个文档自幼生成工具,可以简化程序员编写文档的工作。可以使用

javadoc.exe命令启动Java文档化工具,自动生成Java程序文档。

输入卜面给出的JavaApplication程序,利用javadoc命令生成该Java应用程序的文档,并使用浏览

器IE显示生成的文档页面内容。

1:/*Java编程技术ch叩ter3,CommentTest.java

2:版权所有:新东方IT教育。

3:zig

4:日期:2001/07/01

5:*/

6:/**

7:这是•个Java语言入门程序,定义类CommentTesl。其中含有niain()方法,因此可以作为一

8:个应用程序单独执行。其功能是在默认的输出设备上输出字符串“Hi.你好!

9:*/

10:publicclassCommentTest{

11:〃主方法,作为Java应用程序的默认入口。

12:publicstaticvoidmain(Stringargs[]){

13:Syslem.out.println("Hi,你好!");〃输出“Hi,你好!"

14:)

15:)

执行javadocCommentTest.java指令,生成文件:

ComnientTest.htmlxpackage-frame.htmlxpackage-summary.hlml、package-tree.htmkconstant-values.htmlx

oveniew-tree.html、index-all.html、deprecated-list.htmlallclasses-frame.htmlallclasses-noframe.html、

index.htmkhelp-doc.html<>

2.输入下面的JavaApplication程序,写出运行结果。

1:publicclassCharSample{

2:publicstaticvoidmair.(Stringargsl]){

3:charch1='b';

4:charch2=V;

5:charch3=>\n';

6:charch4=V;

7:charch5=V;

8:charch6=V;

9:charch7=V;

10:System.out.println("沈阳"+chl+"师范大学");

11:Sysiem.oui.prinUn("沈阳”+ch2+”师范大学)

12:System.out.println("沈阳"+ch3+"师范大学");

13:System.out.println("沈阳'+ch4+ch3+"师范大学");

14:Sysiem.out.prinlln(ch5+“沈阳"+“师范大学”+ch5);

15:System.out.println(ch6+"沈阳师范大学"+ch6);

16:System.out.println(ch7+“沈阳"+“师范大学”+ch7);

17:}

18:}

运行结果:

沈师范大学

沈阳师范大学

沈阳

师范大学

沈阳

师范大学

“沈阳师范大学”

'沈阳师范大学’

'沈阳师范大学'

3.按下面的要求完成JavaApplication程序,写出程序的运行结果。

(I)定义一个Java类Poini,用来描述平面直角坐标系中点的坐标,该类应该能描述点的横、纵坐

标信息及一些相关操作,包括获取点的横、纵坐标,修改点的坐标,显示点的当前位置等。

(2)定义一个测试类javaTesi,创建Point类的对象并对其进行有关的操作。

classPoint!

doublex,y;

publicvoidsetXY(doublea.doubieb){

x=a;

y=b;

publicdoublegetX(){

returnx;

publicdoublegetY(){

returny;

publicvoiddisp(){

System.out.println("点的当前坐标为:("+x+","+y+")");

)

);

publicclassjavaTest{

publicstaticvoidmain(String[]args){

Poiiilpl—newPuinl();

pldispO;

pl.sctXY(3.2,5.6);

pl.dispO;

运行结果:

点的当前坐标为:(0.0,0.0)

点的当前坐标为:(3.2,5.6)

实验3:Java流程控制

一、实验目的

(I)掌握Java运算符的用法.

(2)掌握表达式的使用和各种运算符的优先级控制。

(3)掌握结构化程序设计的基本结构。

二、实验任务

(I)输入根据给定的JavaApplication程序,写出运行结果,并说明程序所完成的功能。

(2)按照要求编写JavaApplication程序。

三、实验内容

1.输入如下所示的JavaApplication程序,写出运行结果,并说明程序的功能。

1:importjava.io.*;

2:publicclassfindNurn{

3:publicstaticvoidmain(Stringargs(]){

4:Strings;

5:doubled;

6:inti;

7:booleanb=false;

8:do{

9:try{

10:Syslem.oul.priniln("请输入一个浮点数:");

11:BuffcredRcaderbr=newBuffcrcdRcadcr(ncwInputSlreamRcader(Systcm.in));

12:s=br.readLine();//以字符串方式读入

13:i=s.indexOf('.');〃找到小数点的位置

14:d=Double.parseDouble(s);〃将字符串转换成浮点数

15:System.out.println(d+"整数部分为:"+(long)d);

16:if(i==-l)〃若没有小数点,则没有小数部分

17:System.out.println(d+"小数部分为:0.0");

18:else〃若有小数点,则截取小数点后的字符串合成浮点数

19:System.out.println(d+”小数部分为:"+Double.parseDouble(((s.charAl(0)=='-')

:"")+"0."+s.substring(i+l,s.length())));

20:b=false;

21:}

22:catch(NumberFormatExcepiionnfe){

23:System.oui.println("输入浮点数格式有误。\n");

24:b=true;

25:)

26:catch(IOExceptionioe){

27:b=false;

28:}

29:}

30:while(b);〃浮点格式错误时重新输入

31:}//endofmain

32:}//endofclass

运行结果:

请输入一个浮点数:

abv

输入浮点数格式有误

请输入一个浮点数:

3.14

3.14的整数部分为:3

3.14的小数部分为:0.14

程序功能:通过IO类从命令行读入一个字符串,如果输入的字符串为非数字字符串,则提示异常,要求

重新输入。如果输入的是一个没有小数点的数字字符串(即整数类型),则将其转换为double型浮点数,

最后完成将浮点数的小数位和整数位分别输出。

2.编写一个JavaApplicalion程序,输出区间[200,300]上的所有素数,要求写出程序

的运行结果。

publicclassPrime{

publicstaticvoidmain(String[]args){

inti,j;

outer:

fdr(i=200;i<=300;i++){

ford=2;j<i-l;j++){

if(i%j==O)

continueouter;

)

System.out.print(i+"");

运行结果:

211223227229239241251257263269271277281283293

实验4:Java类与对象

一、实验目的

(I)掌握Java类的继承关系和派生方法。

(2)理解多态的概念与使用。

(3)掌握接口的定义和使用。

二、实验任务

(I)按要求编写一个Java程序。

(2)按要求完善一个Java程序,编译、运行这个程序,并写出运行结果。

三、实验内容

1,编写一个Java程序片断,以定义一个表示学生的类Student。这个类的属性有“学号”、

“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获

得姓名”、“获得年龄”、“获得年龄”。

2.为类Student增加一个方法publicStringtoString(),该方法把Student类的对象的所

有属性信息组合成一个字符串以便输出显示。编写一个JavaApplicalion程序,创建Studenl

类的对象,并验证新增加的功能。

classStudent(

privatelongstudcncID:

privateintclassID;

privateStringname;

privateStringsex;

privateintage;

publicStudent(iongstudentID,intclassID,Stringname,Stringsex,intage){

this.studentID=studeniID;

this.classID=classID;

=name;

(his.sex=sex;

this.age=age;

)

publiclonggetStudentID()|

returnstudentID;

)

publicintgc(ClassID(){

returnclassID;

)

publicStringgc(Name(){

returnname;

publicSiringgetSex(){

returnsex;

publicintgetAge(){

returnage;

)

publicStringtoString(){

return"学号:"+getSiudentID()+"\n班号:"+geiClassID()+”\n姓名:"+geiName()+"\n性别:

"+gc(Scx()+"\n年龄:"getAgM);

}

)

publicclassStuden(Dcmo{

publicstaticvoidmain(String[]args){

Studentsl=newStudent(90221,2;'Tom',;,male';20);

Systcm.ou(.println(s1.loStringO);

运行结果:

学号:90221

班号:2

姓名:Tom

性别:male

年龄:如

实验5:Java继承与多态

一、实验目的

(I)掌握Java类的定义和使用方法。

(2)掌握对象的声明和使用。

(3)构造函数的概念和使用。

(4)掌握类及其成员的访问控制符的使用。

(5)掌握包的概念和使用。

二、实验任务

(1)输入根据给定的JavaApplication程序,写出运行结果。

(2)按照要求编写JavaApplication程序。

三、实验内容

I.阅读如下所示的3个Java类的定义,分析它们之间的关系,写出运行结果。

1:classSuperClass{

2:intx;

3:SuperClass(){

4:x=3;

5:System.out.printh("inSuperClass:x="+x);

6:)

7:voiddoSoniethingO{

8:System.out.println("inSuperClass.doSomcthingO");

9:)

H:}

1:classSubClassextendsSuperClass{

2:intx;

3:SubCIass(){

4:supcr();〃调用父类的构造方法

5:x=5;〃super()要放在方法中的第一句

6:System.out.println("inSubClass:x="+x);

7:)

8:voiddoSomcthing(){

9:super.doSomething();〃调用父类的方法

10:System.out.printh("iiiSubClass.doSomethingO");

11:Sys(cm.out.printh("supcr.x="+supcr.x+"sub.x="+x);

12:)

14:}

1:publicclassInheritance{

2:publicstaticvoidmair.(S(ringargs[]){

3:SubClasssubC=newSubClassO;

4:subC.doSomethir.gO;

5:)

6:)

运行结果:

inSuperClass:x=3

inSubClass:x=5

inSuperClass.doSomethingO

inSubClass.doSomethingO

super.x=3sub.x=5

2.假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果

3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均超过80分才能够通

过。根据上述要求,请完成以下Java类的设计:

(I)设计一个基类Siudeni描述学生的共同特征。

(2)设■一个描述本科生的类Undergraduate.该类继承并扩展Student类。

(3)设计一个描述研究牛.的类Graduate,该类继承并扩展Student类。

(4)设计一个测试类SludcniDcmo,分别创建本科生和研究生这两个类的对象,并输出相关信息。

classStudent{

privateStringname;

privateiniclassA.classB.classC;

publicStudent(Stringname,intclassA,intclassB.intclassC){

(=nanic;

this.cIassA=classA;

this.classB=classB;

ihis.classC=classC;

)

publicStringgetName(){

returnname:

)

publicintgetAverage(){

rciurn(classA+classB4-classC)/3;

)

)

classUnderGraduateextendsStudent{

publicUnderGraduate(Stringname,intclassA.iniclassB.intclassC){

super(name,classA,classB,classC);

publicvoidisPass(){

if(getAvcragc()>=60)

System.out.printh("本科生"+getName()+”的三科平均分为:"+getAverage()+”,可以拿到学

士学位。");

else

System.out.printh("本科生"+getName()+”的三科平均分为:"+getAverage()+”,不能拿到学

士学位。”);

)

)

classGraduateextendsStudent{

publicGraduatc(StringnamejntclassA.iniclassB.iniclassC){

supci(name,cliissA,classB.classC),

}

publicvoidisPass(){

if(getAverage()>=80)

System.oul.printlM"研究生"+getName()+"的三科平均分为:"+getAverage()+",可以拿到硕

士学位。”);

else

System.oul.printlM"研究生"+getName()+"的三科平均分为:"+getAverage()+",不能拿到硕

土学位。”);

)

}

publicclassStudentDeino{

publicstaticvoidmain(String[]args){

UnderGraduatesI=newUnderGraduate("Tom",55,75,81);

Graduates2=newGra(iuate("Marj,".72.81,68);

sl.isPass();

s2.isPass();

运行结果:

本科生Tom的三科平均分为:70,可以拿到学士学位。

研究生Mary的三科平均分为:73,不能拿到硕士学位。

假定要为某个公司编写雇员工资支付程序,这个公司有各种类型的雇员(Employee),

不同类型的雇员按不同的方式支付工资:

(1)经理(Manager)—每月获得一份固定的工资

(2)销售人员(Salesman)—在基本工资的基础上每月还有销售提成。

(3)一般工人(Worker)—则按他每月工作的天数计算工资。

根据上述要求试用类的继承却相关机制描述这些功能,并编写一个JavaApplication程序,

演示这些类的用法。(提示:应设计一个雇员类(Employee)描述所有雇员的共图特性,这

个类应该提供一个计算工资的抽象方法ComputeSalary(),使得可以通过这个类计算所有雇

员的工资。经理、销售人员和一般工人对应的类都应该继承这个类,并重新定义计算工资的

方法,进而给出它的具体实现。)

abstractclassEmployee(

privateStringname;

publicEniployee(Stringname){

=name;

)

publicStringgetName(){

returnname;

}

publicabstractdoublecomputeSalary();

)

classManagerextendsEmployee(

privatedoublemonthSalary;

publicManager(Slringname.doublemonthSaIary){

super(name);

this.monthSalary=monthSalary;

)

publicdoublecomputeSalary(){

returnmonthSalarjs

)

)

classSalesmanextendsEmployee(

privatedoublebaseSalary;

privatedoublecommision;

privateintqualtitics;

publicSalesman(Stringname.doublebaseSalary.doublecommision.iniqualities){

super(name);

this.baseSalarj,=baseSalar>,;

thismision=commision;

this.qualtities=qualtities;

publicdoublecomputeSalary(){

returnbaseSalarj^commision*qualtities;

)

)

classWorkerextendsEmployee(

privatedoubledailySalary;

privateintdays;

publicWorker(Stringname,doubledailySalary,intdays){

supcr(namc);

llii^.diiilySalaiy-dailySaliuy,

this.days=days;

)

publicdoublecomputeSalary(){

returndailySalary*days;

)

)

publicclassEmployeeDemo{

publicstaticvoidmain(Siringargs[]){

Managere1=newManager("张三”,1()000);

Salesmane2=newSalesman("李四”,2(M)0,50.4,63);

Workere3=newWorker("王五",79.5,28);

System.ouLprinUn("经理"+el.getName()+"的月工资为:"+e1puteSalaryO);

System.out.println("销售人员"+e2.getName()+"的月工资为:"+e2puteSalaryO);

Systcm.out.prinlln("工人"+c3.gctNamc()+”的月工资为:"+c3putcSalaryO);

运行结果:

经理张三的月工资为:10000.0

销售人员李四的月工资为:5175.2

工人王五的月工资为:2226.0

实验6:Java控制台程序设计

一、实验目的

(I)掌握Java命令行参数的读用方法。

(2)掌握Java程序与文件之间的基本输入输出操作

二、实验任务

(I)输入根据给定的JavaApplication程序,写出运行结果。

(2)编写JavaApplication程序,实现文件输入功能。

(3)编写JavaApplication程序,实现文件输出功能。

三、实验内容

1.输入如下所示的JavaApplication程序,用文字简述运行结果。

I:importjava.util.Properties;

2:importjava.util.Enumcraticn;

3:publicclassTestp{

4:publicstaticvoidniair.(String[]args){

5:Propertiesps=Systcm.gctPropcrticsO;

6:Enumerationpn=pertyNames();

7:while(pn.hasMoreElements()){

8:StringpNaire=(Siring)pn.nexlEIcmcnt();

9:StringpValue=ps.getProperty(pName);

10:System.out.println(pName+"+pValue);

II:}

12:)

13:}

2.编写一个JavaApplicalion程序,实现读取并输出指定文件的内容的功能。

importjava.io.*;

publicclassRcadFile{

publicstaticvoidmain(String[]args)throwsIOException{

BufferedReaderbr=newBufferedReader(newFileReader("ReadFile.java"));

Strings=br.rcadLinc();

while(s!=null){

System.out.printh(s);

s=br.rcadLinc();

)

br.close();

3.编写一个JavaApplication程序,实现接收键盘输入的数据,并写入到指定文件中的

功能。

importjava.io.*;

publicclassWriteFile2{

publicstaticvoidmain(StringUargs)throwsI()Exception{

BufferedReaderbr=ncwBuffcrcdRcadcr(newInputStrcaniRcadcr(Systcm.in));

BufferedWriterbw=newBufferedWriter(newFileWrilerCtt.txt"));

Strings=br.readLine();

whilc(!s.cquals("cxit")){

bw.write(s);

bw.newLine();

s=br.rcadLinc();

)

br.close();

bw.closc();

实验7:数组与字符串

一、实验目的

(I)掌握利用Math类实现基本数学运算的方法。

(2)掌握数组与字符串概念与使用。

二、实验任务

(I)输入根据给定的JavaApplication程序,写出运行结果。

(2)按照要求编写JavaApplication程序。

三、实验内容

1.输入下面的JavaApplication程序,写出运行结果,并说明程序的功能。

1:publicclasstestMath{

2:publicstaticvoidniaii.(Stiingargs[J){

3:finalintNUMBER=100;

4:intcount=10;

5:intrandomNum=0;

6:intprobability[]=newint[6J;

7:for(in(i=0;i<6;i++){

8:probability[i]=0;

9:)

10:for(inti=0;i<NUMBER;i++)<

11:randomNum=(int)(Math.random()*6)+1;

12:probability[randomNum-l]++;

13:System.out.print(randomNum+

14:if(i%counl==9)

15:Systeni.out.println();

16:}

17:for(inti=0;i<6;i++){

18:System.out.println("\n"+(i+1)+":\t"+probability(ij);

19:!

20:)

21:)

2.编写一个JavaApplication程序,实现如下的设计目标:程序运行时自动产生1~100

的随机数,接收用户键盘输入数据并给出提示信息,直至猜对。游戏者猜对后,显示猜测次

数,并提供“重新开始”和“退出”功能。

实验8:Java高级I/O流程序设计

一、实验目的

(I)掌握JavaI/O基本原理。

(2)掌握InputStream、OutputSiream抽象类的基本使用方法。

(3)掌握FilelnputStreanKFileOutputStream>DatalnputStreanisDataOutputStream抽象类的基本使

用力法。

二、实验任务

(I)阅读给定的JavaApplication程序,按要求回答问题并写出运行结果。

(2)按要求编写一个JavaApplication程序,并编译、运行这个程序。

三、实验内容

1-输入下面的JavaApplication程序,运行该程序,说明程序的功能。

1:importjava.io.*;

2:publicclassCopyFilc{

3:publicstaticvoidmair(String[]args){

4:try{

5:FilcInputStrcamfis=newFilcInputStrcam("CopyFile.java");

6:FileOiilputSireamfbs=newFileOiitpiilStreamCtemp.txt");

7:intread=fis.read();

8:while(read!=-1){

9:fos.wrile(read):

10:read=tls.read();

11:}

12:fis.close();

13:fos.close();

14:}

15:catch(lOExceptione){

16:System.out.println(e);

17:)

18:)

19:}

其功能是完成文件的复制:通过字节流从“copyFile.java”文件中读取数据并写入到“temp.txt”文

件中去,实现copy功能。

2.编写一个JavaApplication程序,实现如下的设计功能:运行该程序可以列出当前目

录下的文件。

importjava.io.*;

publicclassFiIcList2{

publicstaticvoidmain(String[]args){

Filedir=newFile(".");

Filefiles[]=dir.listFiIes();

System.out.println(diri;

for(inti=O;i<files.length;i++){

if(files[i].isFile())

System.out.printIn("\t"+files[i].getName());

else

Systcm.out.println("<DIR>\t"+filcs[i].gctNamc());

)

)

)

实验9:JavaGUI程序设计⑴

一、实验目的

(I)了解Java系统图形用户界面的工作原理和界面设计步骤。

(2)掌握图形用户界面的各种常用组件的使用方法。

(3)掌握图形用户界面各种布局策略的设计与使用。

二、实验任务

(I)阅读给定的JavaApplica:ion程序,按要求回答问题并写出运行结果。

(2)按要求编写一个JavaApplication程序,并编译、运行这个程序。

三、实验内容

1.输入下面的JavaApplication程序,运行该程序,说明程序的功能。

1:importjava.awt.*;

2:publicclassTestFlowLayout{

3:publicstaticvoidmair(Stiingargs[]){

4:Framef=newFrame("FlowLayout");

5:Buttonbutton1=newButton("确定");

6:Buttonbutton2=newBinion("打,开)

7:Buttonbutton3=newButlon("关闭");

8:Buttonbutton4=newButton("取消");

9:f.setLayout(newFlowLayoutO);

10:f.add(button1);

11:f.add(button2);

12:f.add(button3);

13:f.add(button4);

14:f.setSize(lOOJOO);

15:f.setVisible(true);

16:)

17:}

FlowLayout

[阐打开|关闭|岁

显示一个100*100的窗口,窗口内添加了四个按钮,其布局为流式布局管理器。当窗口£的尺寸被重

置后,其FlowLayoul型的布局也会随之发生变化,各按钮的大小不变,但其相对位置会变化。

2.编写一个JavaApplication程序,该程序运行的运行结果如下所示。

importjava.awi.*;

publicclassBorderLayoutWindowextendsFrame{

publicBorderLayoutWindow(){

setLayout(newBorderLayoutO);

add(newButton("BN"),"North");

add(newButton("BS"),"South");

add(newButton("BE'),"East");

add(new

add(newButton("BC"),"Center");

)

publicstaticvoidmain(Stringargs[]){

BorderLayoutWindowwindow=newBorderLayoutWindjw();

window.setTitle("BorcerWindowApplication");

window.pack();

window.setVisible(true);

3.编写一个JavaApplication程序,该程序运行的运行结果如下所示。

importjava.awt.*;

publicclassGridLayoulWindowextendsFrame{

publicGridLayoutWindowi){

setLayout(newGridLayout(3,2));

add(ncwButton("br'));

add(newButton("b2"));

add(newButton("b3"));

add(newButton("b4"));

addtncwButton("b5")):

add(newBulton("b6"));

publicstaticvoidmain(Stringargs[]){

GridLayoutWindowwindow=newGiidLayoutWindow();

window.setTitle("GridWindowApplication");

window.pack();

window.setVisible(true);

实验10:JavaGUI程序设计⑵

一、实验目的

(I)了解图形用户界面的事件响应机制。

(2)掌握鼠标事件编程方法。

(3)掌握AWT中Color和Font类的使用方法。

二、实验任务

(1)阅读给定的JavaApplication程序,按要求回答问题并写出运行结果。

(2)按要求编写一个JavaApplicaiion程序,并编译、运行这个程序。

三、实验内容

1.输入下面的JavaApplication程序,运行该程序,说明程序的执行过程。

1:importjava.awt.*;

2:importjava.awt.event.*;

3:publicclassTestActionEvcnt{

4:publicstaticvoidmair(Stringargsf]){

5:Framef=newFrame("Test");

6:Buttonb=newBu(ton("PressMe!");

7:Monitorbh=newMonitor();

8:b.addActionListener(bh);

9:f.add(b,BorderLayoui.CENTER);

10:f.pack();

11:f.setVisible(true);

12:)

13:!

1:classMonitorimplementsActionListener{

2:publicvoidactionPerformed(ActionEvente){

3:Systcm.out.printh("abuttonhasbeenpressed");

4:1

5:)

执行过程:创建一个框架f,其标题为Test。在框架中添加了一个标签为“PressMe”的按钮b。为按钮b

注册监听器bh,监听AciionEveni事件。当鼠标单击框架中的按钮b时,会触发AciionEvenl事件•,执行

事件处理器actionPerformed(ActionEvente),即在屏幕上输出文本信息“abuttonhasbeenpressed

2.编写一个JavaApplication程序,该程序运行的运行结果如下所示。

importjava.awt.*;

publicclassMenuTcst!

publicstaticvoidmain(Siringargs[1){

Framefr=newFrameC'Menu");

MenuBarmb=newMenuBar();

fr.setMenuBaiXmb);

Menuml=newMenufFile");

Menum2=newMenu("Edit");

Menum3=newMenuf'Help");

inb.add(iiil);

inb.add(m2);

mb.setHelpMenu(m3);

Menuitemin11=newMenuitem("New");

Menuitemml2=newMenuItem(MSave");

Menultemml3=newMenuItem("Load");

Menuitemni14=newMenuItemC'Quit");

m1.add(m11);

ml.add(ml2);

ml.add(ml3);

m1.addScparator();

ml.add(m!4);

fr.pack();

fr.setVisible(truc);

3.编写一个JavaApplication程序,该程序运行的运行结果如下所示。

importjava.awt.*;

publicclassMenuTest{

publicstaticvoidmain(Stringargs[]){

Framefr=ncwFramc("Mcnu");

MenuBarmb=newMenuBar();

fr.setMenuBar(mb);

Menurnl=ncwMcnuCFilc',);

Menum2=newMenu("Format");

Menum3=newMenufHelp");

Menum4=ncwMenu("进制)

iiib.add(ini),

mb.add(ni2);

mb.sc(HclpMcnu(m3);

Menultemm21=newMenuitem("中文”);

Menuitemm41=newMenuitem("二进制”);

Menuitemm42=newMenul〔em("八进制)

Menultemm43=newMenuitem("十进制");

m2.add(ni21);

m2.add(m4);

m4.add(m41);

m4.add(m42);

m4.add(m43);

fr.pack();

fr.setVisible(true);

实验11:Java多线程

一、实验目的

(I)了解线程的概念。

(2)学习简单的多线程编程。

二、实验任务

(I)阅读给定的JavaApplica;ion程序,按要求回答问题并写出运行结果。

(2)按要求编写一个JavaApplication程序,并编译、运行这个程序。

三、实验内容

1.输入下面的JavaApplicalion程序,运行该程序,并简要分析程序的运行结果。

1:classSinipleThreadextendsThread{

2:publicSiinplcThread(Stiingsti){

3:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论