java 类与对象实验报告_java类与对象实验报告

java类与对象实验报告

西 安 邮 电 大 学(计算机学院)课内实验报告实验名称: 类与对象 专业名称: 计算机科学与技术班 级: 计科1405班 学生姓名: 高宏伟 学 号: 04141152指导教师: 刘霞林实验日期: 2016.9.29一、实验目的通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性,掌握 OOP 方式进行程序设计的方法。二、实验要求1 编写一个创建对象和使用对象的方法的程序。2 编写一个包含类成员和示例成员的程序。 3 编写一个使用Java包的程序。 三、实验内容(一)三角形、梯形和圆形的类封装 实验要求:编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下:a)Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个属能否构成一个三角形。b)Lader类具有类型double的上底、下底、高、面积属性,具有返回面积的功能。c)Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。 程序模板:AreaAndLength.javaclass Trangle double sideA,sideB,sideC,area,length;boolean boo;public Trangle(double a,double b,double c) this.sideA=a; /【代码1】参数a,b,c分别赋值给sideA,sideB,sideCthis.sideB=b;this.sideC=c;if(sideA+sideB)sideC&(sideC+sideB)sideA&(sideC+sideA)sideB) /【代码2】a,b,c构成三角形的条件表达式 boo=true;/【代码3】给boo赋值。 else boo=false;【代码4】 /给boo赋值。double getLength() return sideA+sideB+sideC;【代码5】 /方法体,要求计算出length的值并返回 public double getArea() if(boo) double p=(sideA+sideB+sideC)/2.0;area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC) ;return area;else System.out.println(不是一个三角形,不能计算面积);return 0; public void setABC(double a,double b,double c) this.sideA=a;this.sideB=b;this.sideC=c; /【代码6】参数a,b,c分别赋值给sideA,sideB,sideCif(sideA+sideB)sideC&(sideC+sideB)sideA&(sideC+sideA)sideB【代码7】) /a,b,c构成三角形的条件表达式 boo=true;【代码8】 /给boo赋值。 else boo=false;【代码9】 /给boo赋值。class Lader double above,bottom,height,area; Lader(double a,double b,double h)this.above=a;this.bottom=b;this.height=h;【代码10】 /方法体,将参数a,b,c分别赋值给above,bottom,heightdouble getArea()return (above+bottom)*height/2;【代码11】 /方法体,,要求计算出area返回class Circle double radius,area;Circle(double r) this.radius=r;【代码12】 /方法体double getArea() return Math.PI*radius*radius; /【代码13】方法体,要求计算出area返回double getLength() return Math.PI*2*radius; /【代码14】getArea方法体的代码,要求计算出length返回void setRadius(double newRadius) radius=newRadius; double getRadius()return radius; public class AreaAndLength public static void main(String args) double length,area;Circle circle=null;Trangle trangle;Lader lader;circle=new Circle(5);【代码15】 /创建对象circletrangle=new Trangle(3,4,5); 【代码16】/创建对象trangle。lader=new Lader(2,3,4);【代码17】 /创建对象laderlength=circle.getLength();System.out.println(圆的周长:+length); area=circle.getArea();System.out.println(圆的面积:+area); length=trangle.getLength();System.out.println(三角形的周长:+length); area=trangle.getArea();System.out.println(三角形的面积:+area); area=lader.getArea();System.out.println(梯形的面积:+area); trangle.setABC(12, 34, 1);area=trangle.getArea();System.out.println(三角形的面积:+area); length=trangle.getLength();System.out.println(三角形的周长:+length); 实验后的练习:1. 程序中仅仅省略【代码15】,编译能通过吗?不能通过,提示如下Exception in thread main java.lang.Error: Unresolved compilation problems: The local variable circle may not have been initializedThe local variable circle may not have been initializedat AreaAndLength.Trangle$AreaAndLength.main(Trangle.java:85)2. 程序中仅仅省略【代码16】,编译能通过吗?不能通过,提示如下Exception in thread main java.lang.Error: Unresolved compilation problems: The local variable trangle may not have been initializedThe local variable trangle may not have been initializedThe local variable trangle may not have been initializedThe local variable trangle may not have been initializedThe local variable trangle may not have been initializedat AreaAndLength.Trangle$AreaAndLength.main(Trangle.java:89)3. 程序中仅仅省略【代码15】,运行时出现怎样的异常提示? Exception in thread main java.lang.Error: Unresolved compilation problems: The local variable circle may not have been initializedThe local variable circle may not have been initializedat AreaAndLength.Trangle$AreaAndLength.main(Trangle.java:85)1 给Trangle类增加3个方法,分别用来返回3个边:sideA、sideB和sideC。double getsideA() return sideA; double getsideB() return sideB; double getsideC() return sideC; 2 让AreaAndLength类中的circle对象调用方法修改半径,然后输出修改后的半径以及修改半径后的圆的面积和周长。circle.setRadius(3);System.out.println(修改后的半径为+circle.getRadius();System.out.println(修改后的面积为+circle.getArea();System.out

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值