JAVA实验报告分析Word下载.docx

上传人:b****5 文档编号:20589684 上传时间:2023-01-24 格式:DOCX 页数:63 大小:128.89KB
下载 相关 举报
JAVA实验报告分析Word下载.docx_第1页
第1页 / 共63页
JAVA实验报告分析Word下载.docx_第2页
第2页 / 共63页
JAVA实验报告分析Word下载.docx_第3页
第3页 / 共63页
JAVA实验报告分析Word下载.docx_第4页
第4页 / 共63页
JAVA实验报告分析Word下载.docx_第5页
第5页 / 共63页
点击查看更多>>
下载资源
资源描述

JAVA实验报告分析Word下载.docx

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

JAVA实验报告分析Word下载.docx

同组学生姓名:

————实验地点:

1318

实验日期:

2014.9.25实验成绩:

批改教师:

xxxxx批改时间:

一、实验目的和要求

(1)熟练掌握JDK1.6及MyEclipse8.5编写调试Java应用程序及Java小程序的方法;

(2)熟练掌握Java应用程序的结构;

(3)了解Java语言的特点,基本语句、运算符及表达式的使用方法;

(4)熟练掌握常见数据类型的使用;

(5)熟练掌握if-else、switch、while、do-while、for、continue、break、return语句的使用方法;

理解和掌握重载方法;

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

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

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

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

二、实验仪器和设备

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

三、实验过程

(1)分别使用JDK命令行和MyEclipse编译运行Java应用程序;

适当添加注释信息,通过javadoc生成注释文档;

为主方法传递参数“Hello!

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

publicclassHello

{

publicstaticvoidmain(Stringargs[])

{

System.out.println("

Hello!

"

);

}

}

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

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

要求:

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

(2)要分别掌握用JDK命令行和MyEclipse集成开发环境调试Java程序;

(3)注意Java重载程序:

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

程序清单:

(建议程序中适当添加注释信息,增强可读性;

较长程序分栏书写,保证报告排版整洁美观。

(实验一程序清单续1)

packagepack;

importmypackage.Point;

publicclassLine{

publicstaticPointstart;

publicstaticPointend;

publicLine(Pointstart,Pointend){

this.start=start;

this.end=end;

publicStringtoString()

returnthis.getClass().getName()+"

("

+this.start.toString()+"

"

+this.end.toString()+"

)"

;

publicdoublelength()

inta=start.x-end.x,b=start.y-end.y;

returnMath.sqrt(a*a+b*b);

{Linel=newLine(start,end);

Pointstart=newPoint(100,100);

Pointend=newPoint(100,200);

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

System.out.println(l.length());

(实验一程序清单续2)

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

publicclassdcc{

publicvoidder(){

System.out.println('

z'

publicintder(intc){

returnc;

publicStringder(inti,charc){

returnc+"

="

+i;

publicstaticvoidmain(String[]args){

dccy=newdcc();

y.der();

System.out.println(y.der(4,'

));

System.out.println(y.der(20));

}

四、实验结果与分析

运行结果:

Hello!

调试结果:

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

程序改写后的调试结果:

100.0

z

z=4

20

面向对象编程实验学时:

8

2014-10-23实验成绩:

xxxx批改时间:

(1)熟练掌握Java语言类定义的基本语法;

(2)熟练掌握类成员的访问控制,对象建立的方法;

(3)熟练掌握类构造方法、成员方法的定义和重载;

(4)熟练掌握类继承、多态和抽象性;

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

(6)掌握基本的异常处理方法;

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

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

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

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

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

(4)包的建立与使用:

设计计算器类Calculator,计算加、减、乘、除和立方体体积,并且打包为mypackage。

观察源文件目录下是否生成了mypackage文件夹,在该文件夹中是否有Calculate.class文件。

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

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

给出一个根据雇员类型利用abstract方法和多态性完成工资单计算的程序。

Employee是抽象类,Employee的子类有Boss(每星期发给他固定工资,而不计工作时间)、CommissionWorker(除基本工资外还根据销售额发放浮动工资)、PieceWorker(按其生产的产品数发放工资)、HourlyWorker(根据工作时间长短发放工资)。

该例的Employee的每个子类都声明为final,因为不需要再继承它们生成子类。

在主测试类Test中测试各类雇员工资计算结果。

提示:

对所有雇员类型都使用earnings()方法,但每个人挣的工资按他所属的雇员类计算,所有雇员类都是从超类Employee派出生的。

在超类中声明earnings()为抽象方法,并且对于每个子类都提供恰当的earnings()的实现方法。

为了计算雇员的工资,程序仅仅使用雇员对象的一个超类引用并调用earnings()方法。

在一个实际的工资系统中,各种Employee对象的引用可以通过一个Employee引用数组来实现。

程序依次使用数组的每个元素(Employee引用)调用每个对象的earnings()方法。

Employee类定义如下:

abstractclassEmployee

privateStringfirstName;

privateStringlastName;

publicEmployee(Stringfirst,Stringlast)

firstName=first;

lastName=last;

publicStringgetEmployeeName()

returnfirstName;

publicStringgetLastName()

returnlastName;

publicStringtoString()

returnfirstName+lastName;

publicabstractStringearnings();

(6)异常的捕获:

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

使用三个catch子句,分别捕捉输入输出异常、除数为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;

System.out.println("

商为:

+c);

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

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

//捕获除数为0的异常

编译并运行,当产生输入输出异常时显示异常信息;

当输入除数为0时,出现算术异常,提示除数为0,并要求重新输入;

当输入的不是整数时,如将30输成了3o,出现数值格式异常,提示输入整数。

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

(1)注意选用适当的类成员修饰符(private、protected、public等),比较它们的使用情况;

(2)养成良好的编程习惯,严格按照命名规则为包、类及类成员命名,将每个程序打包,包的命名方式如two.num1表示实验二的第一题;

(3)学会使用MyEclipse的各种调试方法;

(4)学会查阅JavaAPI文档,如查找异常类的使用方法。

较长程序可分栏书写,保证报告排版整洁美观。

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

publicclassComplex{

privatedoublereal,imag;

publicComplex(doublereal,doubleimag){

this.real=real;

this.imag=imag;

}

publicComplex(){

this(0.0,0.0);

publicComplex(Complexc){

this.real=c.real;

this.imag=c.imag;

voidset(doubler,doublei){

real=r;

imag=i;

voidset(Complexd){

set(d.real,d.imag);

publicvoidadd(Complexc){

this.real+=c.real;

this.imag+=c.imag;

}

publicvoidminus(Complexc){

this.real-=c.real;

this.imag-=c.imag;

publicstaticComplexadd(Complexc1,Complexc2){

returnnewComplex(c1.real+c2.real,c1.imag+c2.imag);

publicstaticComplexminus(Complexc1,Complexc2){

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

publicbooleanequals(Objectobj){

if(this==obj)

returntrue;

if(objinstanceofComplex){

Complexc=(Complex)obj;

returnthis.real==c.real&

&

this.imag==c.imag;

returnfalse;

publicStringtoString(){

return"

+this.real+"

+"

+this.imag+"

i)"

publicstaticvoidmain(Stringargs[]){

Complexa=newComplex(2.0,3.5);

Complexb=newComplex(9.0,1.7);

Complexc=b;

System.out.println(a+"

+b+"

+Complex.add(a,b));

-"

+Complex.minus(a,b));

b:

c:

+c+"

b==c?

+(b==c)+"

b.equals(c)?

+(b.equals

(c)));

c=newComplex();

c.set(b);

System.out.println("

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

classCircle{

staticdoublePI=3.14159;

doubler;

publicCircle(doubler){this.r=r;

doublearea(){returnPI*r*r;

classSphereextendsCircle{

publicSphere(doubler){super(r);

publicdoublearea(){return4*PI*r*r;

publicdoublevolume(){return3*PI*Math.pow(r,3)/4;

classColumnextendsCircle{

privatedoubleh;

publicColumn(doubler,doubleh){

super(r);

this.h=h;

publicdoublearea(){return2*PI*r*h+2*PI*r*r;

publicdoublevolume(){returnPI*r*r*h;

classTaperextendsCircle{

publicTaper(doubler,doubleh){

publicdoublearea(){returnPI*r*Math.sqrt(h*h+r*r)+PI*r*r;

publicdoublevolume(){returnPI*r*r*h/3;

publicclasstest{

publicstaticvoidmain(Stringargs[]){

Circlecir=newCircle(3.0);

Areaofcircle="

+cir.area());

Spheresph=newSphere(6.0);

Areaofshere="

+sph.area()+"

\n"

volumeof

sphere="

+sph.volume());

Columncol=newColumn(3.0,5.0);

AreaofColumn="

+col.area()+"

column="

+col.volume());

Tapertap=newTaper(2.0,4.0);

Areaoftaper="

+tap.area()+"

volumnof

taper="

+tap.volume());

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

publicabstractclassClosedFigure{

protectedStringshape;

protectedClosedFigure(Stringshape){

this.shape=shape;

protectedClosedFigure(){

this("

未知

publicabstractdoublearea();

publicabstractdoubleperimeter();

publicvoidprint(){

一个

+this.shape+"

+this.toString()

,周长为

+this.perimeter()+"

,面积为

+this.area());

publicclassTriangleextendsClosedFigure{

protecteddoublea,b,c;

publicTriangle(doublea,doubleb,doublec){

super("

三角形

this.a=a;

this.b=b;

this.c=c;

publicTriangle(){

this(0,0,0);

publicStringtoString(){

return"

a

边长度"

+this.a+"

b

+this.b+"

c

+this.c;

publicdoublearea(){

doubled=(a+b+c)/2.0;

returnMath.sqrt(d*(d-a)*(d-b)*(d-c));

publicdoubleperimeter(){

returna+b+c;

Triangletri=newTriangle(5,9,11);

tri.print();

(4)包的建立与使用

importjava.util.Scanner

publicclassCalculator

{publicstaticvoidmain(String[]args)

{System.out.println("

根据提示输入指令!

while(true){

是否继续Y/N?

Scannersc=newScanner(System.in);

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

if("

y"

.equals(isC)||"

Y"

.equals(isC)){

System.out.println("

输入第一个数:

inta=sc.nextInt();

输入计算符号:

+-*/"

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

输入第二个数:

intb=sc.nextInt();

if("

.equals(var)){

System.out.println(a+"

+(a+b));

}elseif("

System.out.println(a+"

+(a-b));

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

当前位置:首页 > PPT模板 > 其它模板

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

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