实验三类的构成和对象的使用Word文档下载推荐.docx

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

实验三类的构成和对象的使用Word文档下载推荐.docx

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

实验三类的构成和对象的使用Word文档下载推荐.docx

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());

圆的面积为:

+c.getArea());

矩形的周长:

+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

不能构造三角形"

);

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();

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{

不能构造圆柱体"

returnfalse;

publicbooleansetHeight(doubleh1){

if(h1>

returntrue;

System.out.println("

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{

Trianglec=newTriangle();

(1)三角形的周长为:

+c.getLength());

三角形的面积为:

Triangled=newTriangle(1.0,2.0,5.0);

(2)三角形的周长为:

+d.getLength());

+d.getArea());

Trianglee=newTriangle(25,20,37.5);

(3)三角形的周长为:

+e.getLength());

+e.getArea());

}结果:

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

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

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

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

importsx.YZT;

YZTc=newYZT();

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

+c.calTJ());

圆柱体的表面积为:

+c.calBMJ());

YZTd=newYZT(-10.5,2.0);

(2)"

高"

+d.setHeight(-10.5));

底面半径"

+d.setRadius(2.0));

YZTe=newYZT(12.5,11.0);

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

+e.calTJ());

+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