1、三角形、梯形和圆形的类封装

编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下:

a) Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个属能否构成一个三角形。

b) Lader类具有类型double的上底、下底、高、面积属性,具有返回面积的功能。

c) Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。

package MyProj1;
class Trangle {double sideA, sideB, sideC, area, length;boolean boo;public Trangle(double a, double b, double c) {sideA = a;sideB = b;sideC = c; // 【代码1】:参数a,b,c分别赋值给sideA,sideB,sideCif (a+b>c && a+c>b && b+c>a) { // 【代码2】:a,b,c构成三角形的条件表达式boo = true; // 【代码3】:给boo赋值。} else {boo = false; // 【代码4】:给boo赋值。}}double getLength() {length = sideA + sideB + sideC;return length; // 【代码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) {sideA = a;sideB = b;sideC = c; // 【代码6】:参数a,b,c分别赋值给sideA,sideB,sideCif (a+b>c && a+c>b && b+c>a) { // 【代码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) {above = a;bottom = b;height = h; // 【代码10】:方法体,将参数a,b,h分别赋值给above,bottom,height}double getArea() {area = 0.5 * (above + bottom) * height;return area; // 【代码11】:方法, 要求计算出area返回}
}class Circle {double radius, area;Circle(double r) {radius = r; // 【代码12】:类Circle方法体,将参数r赋予成员变量radius}double getArea() {area = Math.PI * radius * radius;return area; // 【代码13】:方法体,要求计算出area返回}double getLength() {return 2 * Math.PI * 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(4); //【代码15】:创建对象circletrangle = new Trangle(3,4,5); //【代码16】:创建对象trangle。lader = new Lader(3, 4, 2); //【代码17】:创建对象laderlength = circle.getLength(); //【代码18】: circle调用方法返回周长并赋值给lengthSystem.out.println("圆的周长:"+length); area = circle.getArea();//【代码19】: circle调用方法返回面积并赋值给areaSystem.out.println("圆的面积:"+area); length = trangle.getLength();//【代码20】: trangle调用方法返回周长并赋值给lengthSystem.out.println("三角形的周长:"+length); area =  trangle.getArea();// 【代码21】: trangle调用方法返回面积并赋值给areaSystem.out.println("三角形的面积:"+area); area = lader.getArea();//【代码22】: lader调用方法返回面积并赋值给areaSystem.out.println("梯形的面积:"+area); trangle.setABC(12, 34, 1);//【代码23】: trangle调用方法设置三个边,要求将三个边修改为12,34,1。area= trangle.getArea(); // 【代码24: trangle调用方法返回面积并赋值给areaSystem.out.println("三角形的面积:"+area); length = trangle.getLength();// 【代码25】:trangle调用方法返回周长并赋值给lengthSystem.out.println("三角形的周长:"+length);}
}

运行结果截图:

2、实例成员与类成员

给出如下程序模板,按程序模板的要求编写源文件,要特别注意程序的输出结果,并能正确解释输出的结果。

源程序文件名:Example.java

package MyProj2;
class A {float a; // 【代码1】: 声明一个float型实例变量astatic float b; // 【代码2】声明一个float型类变量b,即static变量bvoid setA(float a) {this.a = a; // 【代码3】:将参数a的值赋值给成员变量a}void setB(float b) {this.b = b; // 【代码4】:将参数b的值赋值给成员变量b}float getA() {return a;}float getB() {return b;}void outputA() {System.out.println(a);}static void outputB() {System.out.println(b);}
}public class Example {public static void main(String args[]) {A.b = 100; // 【代码5】: 通过类名操作类变量b,并赋值100A.outputB(); // 【代码6】:通过类名调用方法outputB()A cat = new A();A dog = new A();cat.setA(200); // 【代码7】:cat象调用方法setA(int a)将cat的成员a的值设置为200cat.setB(400); // 【代码8】:cat调用方法setB(int b)将cat的成员b的值设置为400dog.setA(150); // 【代码9】:dog象调用方法setA(int a)将dog的成员a的值设置为150dog.setB(300); // 【代码10】:dog调用方法setB(int b)将dog的成员b的值设置为300cat.outputA(); // 【代码11】:cat调用outputA( )。cat.outputB(); // 【代码12】:cat调用outputB( )。dog.outputA(); // 【代码13】:dog调用outputA( )。dog.outputB(); // 【代码14】:dog调用outputB( )。}
}

运行结果截图:

Java: 实训三 类与对象、继承相关推荐

  1. JAVA实训项目:银行网银系统管理平台(含源码)

    JAVA实训项目:银行网银系统管理平台(含源码) 文章目录 JAVA实训项目:银行网银系统管理平台(含源码) 前言 一.项目功能需求描述以及相关技术的应用 相关技术应用 二.设计过程 系统流程图 1. ...

  2. android订餐系统实训总结,订餐系统的java实训报告.ppt

    订餐系统的java实训报告.ppt MingD互联网订餐电子商务系统 PPT模板下载 1需求分析2建立数据库3编码4页面设计5测试及调试 项目开发过程 小组分工 数据库部分我们采用Javabean对象 ...

  3. java实训意义_java实习心得体会

    通过java实习,我自身发生了重大的转变,我相信我会在JAVA开发这条路上走的更长更远,分享心得体会.下面是学习啦小编为大家收集整理的java实习心得体会,欢迎大家阅读. java实习心得体会篇1 经 ...

  4. java实训手册_java实训项目用户手册

    java实训项目用户手册 1 用户手册 第 1章 引言 1.1编写目的编写本手册的主要目的是为了方便使用的用户管理系统能够更加方便使用 此系统,以及更快的掌握JDK,MySQL,MyEclipse使之 ...

  5. Java快速入门学习笔记7 | Java语言中的类与对象

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  6. 2020年Java实训项目【GUI学生信息管理系统】目录

    Java实训项目1:GUI学生信息管理系统 - 实训概述 Java实训项目2:GUI学生信息管理系统 - 系统概述 Java实训项目3:GUI学生信息管理系统 - 涉及知识点 Java实训项目4:GU ...

  7. Java实训项目:GUI学生信息管理系统(2019)【下】

    Java实训项目:GUI学生信息管理系统(2019)[下] 本篇目录 六.实现步骤 13.应用程序类 14.窗口界面类(JFrame)

  8. java实训心得感想30字,java实训心得体会感想

    java实训心得体会感想 Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言.通过本次实训,受益很多,下面谈谈个人的心得体会.本文是java实训心得,希望对大家有帮助. java实训心得篇一 ...

  9. java实训心得感想30字_java实训心得体会范文

    摘要:这次实训为我提供了与众不同的学习方法和学习体会,从书本中面对现实,为我将来走上社会打下了扎实的基础.作为在校计算机专业的学生,现在我能做的就是吸取知识,提高自身的综合素质,提高自己的职业技能,自 ...

最新文章

  1. 技术胖Flutter第三季-15垂直布局Column组件
  2. iOS 11开发教程(十七)iOS11应用视图之使用按钮接收用户输入
  3. 新业态催生无人经济步入黄金发展期
  4. Spring对事务管理的支持的发展历程--转
  5. Java NIO 教程
  6. lhgcoreDialogPlugin v3.5.2 使用点滴
  7. 【知识图谱系列】六篇2020年知识图谱预训练论文综述 | 30页汇报ppt免费获取 | GCC,GraphCL,DGI,InfoGraph等模型
  8. Vue 之 下载本地资源文件
  9. 资质申报 - 系统集成企业资质等级评定条件实施细则
  10. 【重磅整理】180篇NIPS-2020顶会《强化学习领域》Accept论文大全
  11. FFmpeg 软编码h.264与H.265(从简到深)
  12. 美国电脑富农:Frank Soltis
  13. 计算机打不开硬盘,电脑有一个磁盘打不开怎么处理
  14. 赚钱鬼才:即使开放外部支付,苹果App Store仍坚持收取佣金
  15. 如何实现网页视频聊天?
  16. 360wifi驱动linux驱动安装,ubuntu安装360随身wifi驱动
  17. IDEA 出现编译错误 Multi-catches are not supported a this language level 解决方法
  18. Android P 图形显示系统(八) SurfaceFlinger合成流程(三)
  19. MATLAB Symbolic Math Toolbox
  20. Agilent RF fundamentals (7) Oscillator characterization

热门文章

  1. 汉字笔顺字帖在线生成器网站源码
  2. 对不起,今年我真的不敢去拜年了。。。
  3. 小样本论文笔记5:Model Based - [6] One-shot learning with memory-augmented neural networks.
  4. 女强人开讲:事业和家庭双丰收背后好婆婆是关键!
  5. ffplay控制音量方法
  6. wps 写论文时 参考文献的横线怎么消除
  7. centos7下搭建lnmp环境包含yum源直接安装和源码编译安装,以及php5.3和php7.6版本
  8. 【懒懒的Python学习笔记六】
  9. 聊聊如何实施负载均衡
  10. 【T6】打印总账的时候提示:打印机缺纸(错误号:1001)