java实验报告.docx

上传人:b****5 文档编号:11623344 上传时间:2023-03-29 格式:DOCX 页数:71 大小:530.21KB
下载 相关 举报
java实验报告.docx_第1页
第1页 / 共71页
java实验报告.docx_第2页
第2页 / 共71页
java实验报告.docx_第3页
第3页 / 共71页
java实验报告.docx_第4页
第4页 / 共71页
java实验报告.docx_第5页
第5页 / 共71页
点击查看更多>>
下载资源
资源描述

java实验报告.docx

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

java实验报告.docx

java实验报告

金陂科扶^肉

生实验报

(理工类)

:

课程名称:

JAVA程序设计

专业班级:

12软件工程(服务外包)1

1

1

1

1

1

:

学生学号:

1205106077

学生姓名:

1

1

1

1

1

:

所属院部:

软件工程学院

指导教师:

1

1

1

1

2014——2015学年

第1

学期

金陵科技学院教务处制

告书写要求

实验报告原则上要求学生手写,要求书写工整。

若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。

纸张一律采用A4的纸张。

写说明

实验报告

实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。

各院部可根据学科特点和实验具体要求增加项目。

填写注意事项

(1)

(2)

(3)

(4)

(5)以零分论处。

实验报告批改说明

细致观察,及时、准确、如实记录。

准确说明,层次清晰。

尽量采用专用术语来说明事物。

外文、符号、公式要准确,应使用统一规定的名词和符号。

应独立完成实验报告的书写,严禁抄袭、复印,一经发现,

实验报告的批改要及时、认真、仔细,一律用红色笔批改。

实验

报告的批改成绩采用百分制,具体评分标准由各院部自行制定。

实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:

JAVA编程基础实验学时:

4

、实验目的和要求

了解Java语言的特点,基本语句、运算符及表达式的使用方法;熟练掌握常见数据类型的使用;熟练掌握if-else、switch、while、do-while、for、continue、break、return

语句的使用方法;理解和掌握重载方法;

6)

熟练掌握数组和字符串的使用;

7)

调试程序要记录调试过程中出现的问题及解决办法;

8)

编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试

经验;

9)做完实验后给出本实验的实验报告。

二、实验仪器和设备

奔腾以上计算机,Windows操作系统,装有JDK1.6和MyEclipse8.5软件。

三、实验过程

(1)分别使用JDK命令行和MyEcIipse编译运行Java应用程序;适当添加注释信息,通过javadoc生成注释文档;为主方法传递参数“Hello!

”作过程。

pubIiccIassHeIIo

{

pubIicstaticvoidmain(Stringargs[])

{System.out.printIn("HeIIo!

");

}}

(2)教材P11页程序调试,改写程序;编写一个重载方法的程序,调试通过。

字符串,并输出,记录操

(3)

要求:

编译调试程序之前应配置好环境变量;

要分别掌握用JDK命令行和MyEclipse集成开发环境调试

Java程序;

注意Java重载程序:

构造方法和成员方法的区别。

程序清单:

建议程序中适当添加注释信息,增强可读性;较长程序分栏书写,

保证报告排版整洁美观。

 

(实验一程序清单续1)

⑵教材

P11页程序调试,

改写程序;

package

import

pack;

mypackage.Point;

publicpublic

publicpublic

classLine{

staticPoint

start

end;

Line(Pointstart,Pointend){this.start=start;

staticPoint

this.end=end;

}

publicStringtoString()

{

return

this.getClass().getName()+ring()+")";

}

publicdoublelength()

"("+this.start.toString()+

","+this.end.toSt

inta=start.x-end.x,b=start.y-end.y;returnMath.sqrt(a*a+b*b);

publicstatic

Linel=

Pointstart=

Pointend=

System.

System.

voidmain(Stringargs[])

newLine(start,end);

newPoint(1OO,1OO);

newPoint(100,200);

.println(newLine(start,end).toString());

.println(l.length());

out

out

(实验一程序清单续2)

(3)编写一个重载方法的程序,调试通过。

Publicclassdcc{

publicvoidzy(){

System.out

publicintzy(

returnc;}

publicStringzy(

.println(intc){

'z');}

returnc+

publicstatic

inti,charc){

"="+i;}

voidmain(String[]args){

 

out.println(y.zy(4,out.println(y.zy(20));

四、实验结果与分析

(1)分别使用JDK命令行和MyEclipse编译运行Java应用程序;适当添加注释信息,通过javadoc生成注释文档;为主方法传递参数“Hello!

”字符串,并输出,记录操作过程。

运行结果:

Hello!

(2)教材P11页程序调试,改写程序;调试结果:

pack.Line(Point(100,100),Point(100,200))程序改写后的调试结果:

pack.Line(Point(100,100),Point(100,200))100.0

(3)编写一个重载方法的程序,调试通过。

运行结果:

z

z=4

20

实验项目名称:

面向对象编程实验学时:

同组学生姓名:

实验地点:

1318

实验日期:

2014.10.23

实验成绩:

批改教师:

金英

批改时间:

 

、实验目的和要求

熟练掌握Java语言类定义的基本语法;熟练掌握类成员的访问控制,对象建立的方法;熟练掌握类构造方法、成员方法的定义和重载;熟练掌握类继承、多态和抽象性;

熟练掌握接口的定义和实现方法;

调试程序要记录调试过程中出现的问题及解决办法;编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经

验;

做完实验后给出本实验的实验报告。

二、实验仪器和设备

奔腾以上计算机,Windows操作系统,装有JDK1.6和MyEclipse8.5软件。

三、实验过程

1)设计复数类,成员变量包括实部和虚部,成员方法包括实现复数加法、减法、

比较、字符串描述、比较是否相等等操作。

设计圆柱体类和圆椎体类,继承圆类Circle并实现Volume接口,计算表面积

和体积。

设计三角形类,继承图形抽象类,计算三角形面积和周长。

包的建立与使用:

设计计算器类Calculator,计算加、减、乘、除和立方体

体积,并且打包为mypackage。

观察源文件目录下是否生成了mypackage文件夹,在该

文件夹中是否有Calculate.class文件。

编辑PackageDemo.java,保存在

Calculator.java同一目录下,引用计算器类的各方法显示计算结果。

(5)试编码实现多态在工资系统中的应用:

给出一个根据雇员类型利用abstract方法

和多态性完成工资单计算的程序。

Employee是抽象类,Employee的子类有Boss(每星

期发给他固定工资,而不计工作时间)、CommissionWorker(除基本工资外还根据销售

额发放浮动工资)、PieceWorker(按其生产的产品数发放工资)、HourlyWorker(根据

工作时间长短发放工资)。

该例的Employee的每个子类都声明为final,因为不需要再

Employee派出生的。

在超类中声明earnings()为抽象

方法,并且对于每个子类都提供恰当的earnings()的实现方法。

为了计算雇员的工资,

程序仅仅使用雇员对象的一个超类引用并调用earnings()方法。

在一个实际的工资系

用数组的每个元素(Employee引用)调用每个对象的earnings()方法。

Employee类定义如下:

abstractclassEmployee{privateStringfirstName;privateStringlastName;publicEmployee(Stringfirst,Stringlast){firstName=first;lastName=last;

}publicStringgetEmployeeName(){

returnfirstName;

}publicStringgetLastName(){returnlastName;

}publicStringtoString(){

returnfirstName+lastName;

catch子句,分别捕捉输入输出异

}publicabstractStringearnings();}(6)异常的捕获:

计算两数相除并输出结果。

使用三个常、除数为0的异常和参数输入有误异常。

importjava.io.*;classEx1{publicstaticvoidmain(Stringargs[]){

try{

建立输入流缓冲区

BufferedReaderstrin=newBufferedReader(newInputStreamReader(System.in));//System.out.print("请输入除数:

");

Stringcl=strin.readLine();//键盘输入inta=Integer.parseInt(cl);

System.out.print("请输入被除数:

");cl=strin.readLine();intb=Integer.parseInt(cl);intc=b/a;

}//

捕获与I/O有关的异常(空白处补全捕获语句)

//

捕获数值转化时的异常,如不能将字符转化成数值

//

捕获除数为0的异常

 

 

}

编译并运行,当产生输入输出异常时显示异常信息;当输入除数为0时,出现算术异常,提

示除数为0,并要求重新输入;当输入的不是整数时,如将30输成了3o,出现数值格式异

常,提示输入整数。

(8)编写程序包含自定义异常MyException,当100被13和4除时抛出该异常,其余除数显示商值。

要求:

注意选用适当的类成员修饰符(private、protected、public等),比较它们的使用情况;养成良好的编程习惯,严格按照命名规则为包、类及类成员命名,将每个程序打包,包的命名方式如two.num1表示实验二的第一题;学会使用MyEclipse的各种调试方法;学会查阅JavaAPI文档,如查找异常类的使用方法。

程序清单:

实验二程序清单续1)

(1)设计复数类,成员变量包括实部和虚部,字符串描述、比较是否相等等操作。

publicclassComplex{privatepublicthisthis}publicthis

成员方法包括实现复数加法、减法、比较、

}public

doublereal,imag;

Complex(doublereal,double.real=real;

.imag=imag;

Complex(){(0.0,0.0);

Complex(Complexc){

imag){

 

this

real=c.

real

this

imag=c.

imag;

}

voidset(real=r;

double

r,doublei){

imag=i;

}

voidset(Complexd){set(d.

}

public

real,d.imag);

this.

real+=c.

real;

this.

imag+=c.

imag;

void

minus(Complexc){

this

.real-=c.

real

this

.imag-=c.

imag

voidadd(Complexc){

}public

public

return

static

Complexadd(Complexc1,Complexc2){

newComplex(c1.real+c2.real,c1.imag+c2.imag

);

publicstaticComplexminus(Complexc1,Complexc2){

returnnewComplex(c1.real-c2.real,c1.imag-c2.imag

);

public

if

booleanequals(Objectobj){(this==obj)

returntrue;

(objinstanceofComplex){Complexc=(Complex)obj;

returnthis.real==c.real&&this.imag==c.imag;

if

}

returnfalse

publicStringtoString(){

return

"("+this.real+"+"+this.imag+"i)"

}

publicstatic

Complexa=

Complexb=

Complexc=b;

System.out

System.out

voidmain(Stringargs[]){newComplex(2.0,3.5);newComplex(9.0,1.7);

.println(a+

.println(a+

"+"+b+"="+Complex.add(a,b));"-"+b+"="+Complex.minus(a,b));

System.out.println(

"b:

"+b+",c:

"

+c+",b==c?

"+(b==c)+",b.equals(c)?

"

+(b.

 

equals

(c)));

c=newComplex();

c.set(b);

System.out.println(equals

(c)));

}

}

实验二程序清单续2)

(2)设计圆柱体类和圆椎体类,积。

继承圆类Circle并实现Volume接口,计算表面积和体

publicinterfaceVolume{//

publicabstractdoublegetVolume();}

定义接口

publicclassCircle{//doubler;

定义圆形类

publicCircle(doubler){this.r=r;

}

publicdoublegetS(){//returnMath.PI*r*r;

面积

publicdoublegetL(){//return2*Math.PI*r;

}

}

周长

publicclassCylinderextendsCircleimplementsVolume{//doubleh;

publicCylinder(doubler,doubleh){

super(r);

this.h=h;

}

定义圆柱体

publicdoublegetArea(){//returnh*getL()+2*getS();

}

表面积

publicdoublegetVolume(){//returnh*getS();

}

体积

 

publicstaticvoidmain(String[]args){Cylinderc1=newCylinder(5,10);

表面积:

"+c1.getArea());体积:

"+c1.getVolume());

System.out.println("

System.out.println("}

}

实验二程序清单

3)

(3)设计三角形类,继承图形抽象类,计算三角形面积和周长。

publicabstractclassClosedFigure

{protectedStringshape;protectedClosedFigure(Stringshape)

{this.shape=shape;}

protectedClosedFigure()

("未知");}

abstractdouble

{thispublicpublicpublic

{System.

abstractdouble

area();perimeter();

voidprint()out.println(

"+this.perimeter()+public

{protectedprotectedprotectedpublic

{thisthis.

classEllipsedouble

this

public

"一个"+this.shape+","+this.toString()+",面积为"+this.area());}}

height;

doubleunder;

doublelength;

Ellipse(doubleheight,

.height=height;

under=under;

{returnpublic

{returnpublic

{returnpublic

length=length;}

StringtoString()"高"+height+""

doublearea()

doubleunder,doublelength)

+"底"+under;}

height*under*1/2;}double

(thisstatic

{Ellipsee1=

perimeter()

.under+this.length*2);}voidmain(Stringargs[])newEllipse(10.0,20.0,14.0);

System.out.print("面积是"+e1.area()+"\n"

"+e1.perimeter()+"\n");

System.out.println(e1.toString());}}

+"周长是

",周长为

实验二程序清单4)

,计算加、减、乘、除和立方体体积,

mypackage文件夹,在该文件夹中是同一目录

(4)包的建立与使用:

设计计算器类Calculator

并且打包为mypackage。

观察源文件目录下是否生成了否有Calculate.class文件。

编辑PackageDemo.java,保存在Calculator.java

 

下,引用计算器类的各方法显示计算结果。

importjava.util.Scanner;

publicclassCalculator

{publicstaticvoidmain(String[]args)

"根据提示输入指令!

");

{System.out.println(

while(true){

System.out.println(“是否继续Y/N?

");Scannersc=newScanner(System.in);

StringisC=sc.nextLine().trim();

if("y".equals(isC)||

System.out.println(

inta=sc.nextInt();

System.out.println(

Stringvar=sc.next().trim();

"Y".equals(isC)){

"输入第一个数:

");

"输入计算符号:

+-*/"

);

System.out.println(

intb=sc.nextInt();

if("+".equals(var)){

System.out.println(a+

}elseif("-".equals(var)){

System.out.println(a+

}elseif("*".equals(var)){

System.out.println(a+

}elseif("/".equals(var)){

System.out.println(a+

"输入第二个数:

“);

"+"+b+"="+(a+b));

11

11

+b+"="+(a-b));

11*11

+b+"="+(a*b));

7"+b+"="+(a/(double)b));

ll/ll

else{

System.break;

}else{

System.out.println(

"计算符号有误,程序退岀“);

break;

out.pnntln(

}

"程序退岀");

}}}

(实验二程序清单5)

(5)Boss类

packagess1;

//每星期发给他固定工资,而不计工作时间

finalclassBossextendsEmployee{

privatedoubleweeklySalary

 

doubles)

publicBoss(Stringfirst,Stringlast,{

super(first,last);

setWeeklySalary(s);

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

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

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

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