Java程序设计实验指导书答案可编辑.docx

上传人:b****5 文档编号:4367686 上传时间:2022-12-01 格式:DOCX 页数:36 大小:65.46KB
下载 相关 举报
Java程序设计实验指导书答案可编辑.docx_第1页
第1页 / 共36页
Java程序设计实验指导书答案可编辑.docx_第2页
第2页 / 共36页
Java程序设计实验指导书答案可编辑.docx_第3页
第3页 / 共36页
Java程序设计实验指导书答案可编辑.docx_第4页
第4页 / 共36页
Java程序设计实验指导书答案可编辑.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

Java程序设计实验指导书答案可编辑.docx

《Java程序设计实验指导书答案可编辑.docx》由会员分享,可在线阅读,更多相关《Java程序设计实验指导书答案可编辑.docx(36页珍藏版)》请在冰豆网上搜索。

Java程序设计实验指导书答案可编辑.docx

Java程序设计实验指导书答案可编辑

Java程序设计实验指导书(答案)(可编辑)

第Ⅰ部分:

实验指导

实验1:

Java开发环境J2SE

一、实验目的

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

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

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

二、实验任务

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

三、实验内容

1.安装J2SE开发工具

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

安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到C:

\j2sdk1.4.1_03目录下。

教师通过大屏幕演示J2SE的安装过程,以及在Windows98/2000/2003下环境变量的设置方法。

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

教师通过大屏幕演示EditPlus的安装过程,以及在Windows98/2000/2003操作系统环境下编辑Java原程序的常用命令的用法。

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

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

"。

publicclassHelloWorldApp{

publicstaticvoidmain(String[]args){

System.out.println("老师,你好!

");

}

}

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

1:

publicclassMyClass{

2:

privateintday;

3:

privateintmonth;

4:

privateintyear;

5:

publicMyClass(){

6:

day=1;

7:

month=1;

8:

year=1900;

9:

}

10:

publicMyClass(intd,intm,inty){

11:

day=d;

12:

month=m;

13:

year=y;

14:

}

15:

publicvoiddisplay(){

16:

System.out.println(day+"-"+month+"-"+year);

17:

}

18:

publicstaticvoidmain(Stringargs[]){

19:

MyClassm1=newMyClass();

20:

MyClassm2=newMyClass(25,12,2001);

21:

m1.display();

22:

m2.display();

23:

}

24:

}

 

运行结果:

1-1-1900

25-12-2001

 

实验2:

Java基本数据类型

一、实验目的

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

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

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

二、实验任务

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

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

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

三、实验内容

1.Javadoc文档化工具的使用

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

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

输入下面给出的JavaApplication程序,利用javadoc命令生成该Java应用程序的文档,并使用浏览器IE显示生成的文档页面内容。

1:

/*Java编程技术chapter3,CommentTest.java

2:

版权所有:

新东方IT教育。

3:

作者:

zlg

4:

日期:

2001/07/01

5:

*/

6:

/**

7:

这是一个Java语言入门程序,定义类CommentTest。

其中含有main()方法,因此可以作为一

8:

个应用程序单独执行。

其功能是在默认的输出设备上输出字符串"Hi,你好!

"。

9:

*/

10:

publicclassCommentTest{

11:

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

12:

publicstaticvoidmain(Stringargs[]){

13:

System.out.println("Hi,你好!

");//输出"Hi,你好!

"

14:

}

15:

}

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

CommentTest.html、package-frame.html、package-summary.html、package-tree.html、constant-values.html、overview-tree.html、index-all.html、deprecated-list.html、allclasses-frame.html、allclasses-noframe.html、index.html、help-doc.html。

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

1:

publicclassCharSample{

2:

publicstaticvoidmain(Stringargs[]){

3:

charch1='\b';

4:

charch2='\t';

5:

charch3='\n';

6:

charch4='\r';

7:

charch5='\"';

8:

charch6='\'';

9:

charch7='\\';

10:

System.out.println("沈阳"+ch1+"师范大学");

11:

System.out.println("沈阳"+ch2+"师范大学");

12:

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

13:

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

14:

System.out.println(ch5+"沈阳"+"师范大学"+ch5);

15:

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

16:

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

17:

}

18:

}

运行结果:

沈师范大学

沈阳师范大学

沈阳

师范大学

沈阳

师范大学

“沈阳师范大学”

‘沈阳师范大学’

\沈阳师范大学\

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

(1)定义一个Java类Point,用来描述平面直角坐标系中点的坐标,该类应该能描述点的横、纵坐标信息及一些相关操作,包括获取点的横、纵坐标,修改点的坐标,显示点的当前位置等。

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

classPoint{

doublex,y;

publicvoidsetXY(doublea,doubleb){

x=a;

y=b;

}

publicdoublegetX(){

returnx;

}

publicdoublegetY(){

returny;

}

publicvoiddisp(){

System.out.println("点的当前坐标为:

("+x+","+y+")");

}

};

publicclassjavaTest{

publicstaticvoidmain(String[]args){

Pointp1=newPoint();

p1.disp();

p1.setXY(3.2,5.6);

p1.disp();

}

}

运行结果:

点的当前坐标为:

(0.0,0.0)

点的当前坐标为:

(3.2,5.6)

 

实验3:

Java流程控制

一、实验目的

(1)掌握Java运算符的用法。

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

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

二、实验任务

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

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

三、实验内容

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

1:

importjava.io.*;

2:

publicclassfindNum{

3:

publicstaticvoidmain(Stringargs[]){

4:

Strings;

5:

doubled;

6:

inti;

7:

booleanb=false;

8:

do{

9:

try{

10:

System.out.println("请输入一个浮点数:

");

11:

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

12:

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

13:

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

14:

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

15:

System.out.println(d+"整数部分为:

"+(long)d);

16:

if(i==-1)//若没有小数点,则没有小数部分

17:

System.out.println(d+"小数部分为:

0.0");

18:

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

19:

System.out.println(d+"小数部分为:

"+Double.parseDouble(((s.charAt(0)=='-')?

"-":

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

20:

b=false;

21:

}

22:

catch(NumberFormatExceptionnfe){

23:

System.out.println("输入浮点数格式有误。

\n");

24:

b=true;

25:

}

26:

catch(IOExceptionioe){

27:

b=false;

28:

}

29:

}

30:

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

31:

}//endofmain

32:

}//endofclass

运行结果:

请输入一个浮点数:

abc

输入浮点数格式有误

请输入一个浮点数:

3.14

3.14的整数部分为:

3

3.14的小数部分为:

0.14

程序功能:

通过IO类从命令行读入一个字符串,如果输入的字符串为非数字字符串,则提示异常,要求重新输入。

如果输入的是一个没有小数点的数字字符串(即整数类型),则将其转换为double型浮点数,最后完成将浮点数的小数位和整数位分别输出。

2.编写一个JavaApplication程序,输出区间[200,300]上的所有素数,要求写出程序的运行结果。

publicclassPrime{

publicstaticvoidmain(String[]args){

inti,j;

outer:

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

for(j=2;j

if(i%j==0)

continueouter;

}

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

}

}

}

运行结果:

211223227229239241251257263269271277281283293

 

实验4:

Java类与对象

一、实验目的

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

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

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

二、实验任务

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

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

三、实验内容

1.编写一个Java程序片断,以定义一个表示学生的类Student。

这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”、“获得年龄”。

2.为类Student增加一个方法publicStringtoString(),该方法把Student类的对象的所有属性信息组合成一个字符串以便输出显示。

编写一个JavaApplication程序,创建Student类的对象,并验证新增加的功能。

classStudent{

privatelongstudentID;

privateintclassID;

privateStringname;

privateStringsex;

privateintage;

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

this.studentID=studentID;

this.classID=classID;

this.name=name;

this.sex=sex;

this.age=age;

}

publiclonggetStudentID(){

returnstudentID;

}

publicintgetClassID(){

returnclassID;

}

publicStringgetName(){

returnname;

}

publicStringgetSex(){

returnsex;

}

publicintgetAge(){

returnage;

}

publicStringtoString(){

return"学号:

"+getStudentID()+"\n班号:

"+getClassID()+"\n姓名:

"+getName()+"\n性别:

"+getSex()+"\n年龄:

"+getAge();

}

}

publicclassStudentDemo{

publicstaticvoidmain(String[]args){

Students1=newStudent(90221,2,"Tom","male",20);

System.out.println(s1.toString());

}

}

运行结果:

学号:

90221

班号:

2

姓名:

Tom

性别:

male

年龄:

20

 

实验5:

Java继承与多态

一、实验目的

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

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

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

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

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

二、实验任务

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

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

三、实验内容

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

1:

classSuperClass{

2:

intx;

3:

SuperClass(){

4:

x=3;

5:

System.out.println("inSuperClass:

x="+x);

6:

}

7:

voiddoSomething(){

8:

System.out.println("inSuperClass.doSomething()");

9:

}

11:

}

1:

classSubClassextendsSuperClass{

2:

intx;

3:

SubClass(){

4:

super();//调用父类的构造方法

5:

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

6:

System.out.println("inSubClass:

x="+x);

7:

}

8:

voiddoSomething(){

9:

super.doSomething();//调用父类的方法

10:

System.out.println("inSubClass.doSomething()");

11:

System.out.println("super.x="+super.x+"sub.x="+x);

12:

}

14:

}

1:

publicclassInheritance{

2:

publicstaticvoidmain(Stringargs[]){

3:

SubClasssubC=newSubClass();

4:

subC.doSomething();

5:

}

6:

}

运行结果:

inSuperClass:

x=3

inSubClass:

x=5

inSuperClass.doSomething()

inSubClass.doSomething()

super.x=3sub.x=5

 

2.假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均超过80分才能够通过。

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

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

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

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

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

classStudent{

privateStringname;

privateintclassA,classB,classC;

publicStudent(Stringname,intclassA,intclassB,intclassC){

this.name=name;

this.classA=classA;

this.classB=classB;

this.classC=classC;

}

publicStringgetName(){

returnname;

}

publicintgetAverage(){

return(classA+classB+classC)/3;

}

}

classUnderGraduateextendsStudent{

publicUnderGraduate(Stringname,intclassA,intclassB,intclassC){

super(name,classA,classB,classC);

}

publicvoidisPass(){

if(getAverage()>=60)

System.out.println("本科生"+getName()+"的三科平均分为:

"+getAverage()+",可以拿到学士学位。

");

else

System.out.println("本科生"+getName()+"的三科平均分为:

"+getAverage()+",不能拿到学士学位。

");

}

}

classGraduateextendsStudent{

publicGraduate(Stringname,intclassA,intclassB,intclassC){

super(name,classA,classB,classC);

}

publicvoidisPass(){

if(getAverage()>=80)

System.out.println("研究生"+getName()+"的三科平均分为:

"+getAverage()+",可以拿到硕士学位。

");

else

System.out.println("研究生"+getName()+"的三科平均分为:

"+getAverage()+",不能拿到硕士学位。

");

}

}

publicclassStudentDemo{

publicstaticvoidmain(String[]args){

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

Graduates2=newGraduate("Mary",72,81,68);

s1.isPass();

s2.isPass();

}

}

运行结果:

本科生Tom的三科平均分为:

70,可以拿到学士学位。

研究生Mary的三科平均分为:

73,不能拿到硕士学位。

 

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

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

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

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

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

(提示:

应设计一个雇员类(Employee)描述所有雇员的共图特性,这个类应该提供一个计算工资的抽象方法ComputeSalary(),使得可以通过这个类计算所有雇员的工资。

经理、销售人员和一般工人对应的类都应该继承这个类,并重新定义计算工资的方法,进而给出它的具体实现。

abstractclassEmployee{

p

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

当前位置:首页 > 高中教育 > 小学教育

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

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