实验三类的构成和对象的使用.docx

上传人:b****5 文档编号:4184597 上传时间:2022-11-28 格式:DOCX 页数:10 大小:70.50KB
下载 相关 举报
实验三类的构成和对象的使用.docx_第1页
第1页 / 共10页
实验三类的构成和对象的使用.docx_第2页
第2页 / 共10页
实验三类的构成和对象的使用.docx_第3页
第3页 / 共10页
实验三类的构成和对象的使用.docx_第4页
第4页 / 共10页
实验三类的构成和对象的使用.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

实验三类的构成和对象的使用.docx

《实验三类的构成和对象的使用.docx》由会员分享,可在线阅读,更多相关《实验三类的构成和对象的使用.docx(10页珍藏版)》请在冰豆网上搜索。

实验三类的构成和对象的使用.docx

实验三类的构成和对象的使用

 

《面向对象技术导论》实验报告

 

学号:

姓名:

专业:

指导教师:

实验内容:

实验时间:

实验地点:

实验二Java基本语法练习

【开发语言及实现平台或实验环境】

Windows2000或XP,JDK1.6与Jcreator4.0

【实验目的】

1.了解Java的数据类型

2.掌握各种变量的声明方式

3.理解运算符的优先级

4.掌握java基本数据类型。

运算符与表达式、数组的使用方法

5.理解Java程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法

【实验要求】

1.编写一个声明java不同数据类型变量的程序

2.编写一个使用运算符、表达式、变量的程序

3.编写一个使用java数据的程序

4.编写表达式语句、复合语句的程序

5.编写使用不同选择结构的程序

6.编写使用不同循环结构的程序

【实验内容】

一、包的应用

在Elearning下载ygw.rar文件,进行解压。

得到Circle.class、Rect.class和MyWindow.class三个字节码文件,这三个文件都在ygw包中。

解压后这三个字节码文件在ygw文件夹中。

编写一个程序,把ygw文件夹放到所编写源文件所在的文件夹中,用import导入这三个类,分别定义三个类的对象,求半径为3的圆和长、宽分别为10、5的矩形的面积,定义MyWindow的一个对象后,观察结果,理解封装的好处(不需要知道类的内部细节,就可以方便的使用它,降低编程的难度)。

注意:

在Jcreator、Netbean等集成开发工具下,当定义了某个类的对象后,例如"Circlec=newCircle();",当输入"c.",当.出现后,将出现该类可用的方法和属性列表,可用鼠标直接选择所要的方法或属性。

程序代码:

importygw.Circle;

importygw.MyWindow;

importygw.Rect;

classyingyong{

publicstaticvoidmain(String[]args){

Circlec=newCircle();

MyWindowd=newMyWindow();

Recte=newRect();

e.setHeight(10);

e.setWidth(5);

c.setRadius(10.0);

System.out.println("圆的周长为:

"+c.getZhouchang());

System.out.println("圆的面积为:

"+c.getArea());

System.out.println("矩形的周长:

"+e.getZhouchang());

}

}

结果:

二、三角形和圆柱体的类封装及构造方法的使用(每个类存为不同的.java源文件)

(1)创建一个三角形类Triangle,放入以你的姓名为包名的包中。

三角形类Triangle包含的属性有三条边的长sideA,sideB,sideC,,这些属性设为private类型;包含的方法有构造方法(两个:

一个没有参数,默认三边均为1.0;一个给定三条边的长度,并进行判定给定的三条边是否能组成三角形,如果不能构成三角形则报错),求面积方法getArea(),求周长方法getLength();

提示:

设三角形的三边长为a,b,c,则它的面积为

,其中S=(a+b+c)/2,开平方的方法为Math.sqrt()。

packagesx;

publicclassTriangle{

privatedoublesideA;

privatedoublesideB;

privatedoublesideC;

publicTriangle(){

sideA=1.0;

sideB=1.0;

sideC=1.0;

}

publicTriangle(doublea,doubleb,doublec){

if(a+b>c&&a+c>b&&b+c>a){

sideA=a;

sideB=b;

sideC=c;

}

else

System.out.println("不能构造三角形");

}

publicdoublegetArea(){

doubleS,s;

S=(sideA+sideB+sideC)/2;

s=Math.sqrt(S*(S-sideA)*(S-sideB)*(S-sideC));

returns;

}

publicdoublegetLength(){

doublec;

c=sideA+sideB+sideC;

returnc;

}

}

 

(2)创建一个圆柱体类YZT,放入以你的姓名为包名的包中。

圆柱体类YZT包含的属性有底面半径radius和圆柱体的高height,这些属性设为private类型;包含的方法有构造方法(两个:

一个没有参数,默认底面半径和高均为1.0;一个给定半径radius和圆柱体的高height,并且要求均大于0.0,符合实际圆柱体要求,否则报错),包含的方法有设置底面半径setRadius(),获取底面半径getRadius(),设置高setHeight(),获取高getHeight(),求体积calTJ(),求表面积calBMJ();

packagesx;

publicclassYZT{

privatedoubleheight;

privatedoubleradius;

publicYZT(){

radius=1.0;

height=1.0;

}

publicYZT(doubler1,doubleh1){

radius=r1;

height=h1;

}

publicbooleansetRadius(doubler1){

if(r1>0){

radius=r1;

returntrue;

}

else{

System.out.println("不能构造圆柱体");

returnfalse;

}

}

publicbooleansetHeight(doubleh1){

if(h1>0){

height=h1;

returntrue;

}

else{

System.out.println("不能构造圆柱体");

returnfalse;}

}

publicdoublegetRadius(){

returnradius;

}

publicdoublegetHeight(){

returnheight;

}

publicdoublecalTJ(){

returnMath.PI*Math.pow(radius,2)*height;

}

publicdoublecalBMJ(){

returnMath.PI*Math.pow(radius,2)*2+2*Math.PI*radius*height;

}

}

(3)用import导入三角形类Triangle,用Triangle类定义以下三个对象:

●定义默认的三角形,求它的面积和周长;

●定义边长分别为1.0,2.0,5.0的三角形,查看输出错误;

●定义边长分别为25,20,37.5的三角形,求它的面积和周长;

 

程序代码:

importsx.Triangle;

classsan{

publicstaticvoidmain(String[]args){

Trianglec=newTriangle();

System.out.println("

(1)三角形的周长为:

"+c.getLength());

System.out.println("三角形的面积为:

"+c.getArea());

Triangled=newTriangle(1.0,2.0,5.0);

System.out.println("

(2)三角形的周长为:

"+d.getLength());

System.out.println("三角形的面积为:

"+d.getArea());

Trianglee=newTriangle(25,20,37.5);

System.out.println("(3)三角形的周长为:

"+e.getLength());

System.out.println("三角形的面积为:

"+e.getArea());

}

}结果:

 

(4)用import导入圆柱体类YZT,用YZT类定义以下三个对象:

●定义默认的圆柱体,求它的体积和表面积;

●定义半径radius和高heigth分别为2.0,-10.5的圆柱体,查看输出错误;

●定义半径radius和高heigth分别为12.5,11.0的圆柱体,求它的体积和表面积。

 

程序代码:

importsx.YZT;

classsan{

publicstaticvoidmain(String[]args){

YZTc=newYZT();

System.out.println("

(1)\n圆柱体的体积为:

"+c.calTJ());

System.out.println("圆柱体的表面积为:

"+c.calBMJ());

YZTd=newYZT(-10.5,2.0);

System.out.println("

(2)");

System.out.println("高"+d.setHeight(-10.5));

System.out.println("底面半径"+d.setRadius(2.0));

YZTe=newYZT(12.5,11.0);

System.out.println("(3)\n圆柱体的体积为:

"+e.calTJ());

System.out.println("圆柱体的表面积为:

"+e.calBMJ());

}

}

 

结果:

 

三、静态成员的使用

(1)使用Math类下的静态方法计算sin30°+tan50°+sqrt(10)的值。

 

程序代码:

packagemath;

importjava.lang.Math;

publicclassmath{

publicstaticvoidmain(String[]args)

{

System.out.println("sin30°+tan50°+sqrt(10)的值为"+(Math.sin(Math.toRadians(30))+Math.tan(Math.toRadians(50))+Math.sqrt(10)));

}

}

结果:

(2)声明一个点类Point,有两个private类型变量保存点坐标,一个类变量(静态变量)保存已有点的个数。

生成10个点的Point数组,第i个点的坐标为(i,i2),依次生成每一个点,输出每一个点的坐标和当前已有点的个数。

程序代码:

publicclasspoint{

privateintx;

privateinty;

publicstaticintpointCount=0;

publicpoint(intx,inty){

this.x=x;

this.y=y;

pointCount++;

}

publicintgetpoint1(){

returnx;

}

publicintgetpoint2(){

returny;

}

}

classexmple{

publicstaticvoidmain(String[]args){

inti;

for(i=0;i<10;i++){

pointq=newpoint(i,i*i);

System.out.printf("点的坐标:

(%d,%d),保存的点的个数:

%d\n",q.getpoint1(),q.getpoint2(),q.pointCount);

}

}

}

结果:

 

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

当前位置:首页 > 初中教育 > 科学

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

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