建立一个图形父类:


public class Shape {//图形类,所有图形的爸比,具有计算面积的方法//计算的方法由子类重写实现public double area() {return 0;}public Shape() {super();}}

建立一个矩形子类:


public class Rect extends Shape {//1.定义变量//2.生成set和get 方法//3.生成构造方法//4.实现 area 计算面积的方法private double w;//宽private double h;//高public Rect() {super();}public Rect(double w, double h) {super();this.w = w;this.h = h;}public double getW() {return w;}public void setW(double w) {this.w = w;}public double getH() {return h;}public void setH(double h) {this.h = h;}@Overridepublic double area() {return w * h;}}

建立一个三角形子类:

public class Triangle extends Shape {private double w;//宽private double h;//高@Overridepublic double area() {return (w * h) / 2;}public double getW() {return w;}public void setW(double w) {this.w = w;}public double getH() {return h;}public void setH(double h) {this.h = h;}public Triangle(double w, double h) {super();this.w = w;this.h = h;}public Triangle() {super();// TODO Auto-generated constructor stub}}

建立一个圆形子类:


public class Circle extends Shape {private double  r ;public double getRadius() {return r;}public void setRadius(double r) {this.r = r;}@Overridepublic double area() {return r * r * Math.PI;}public Circle(double r) {super();this.r = r;}public Circle() {super();// TODO Auto-generated constructor stub}}

建立一个 计算图形相加的类:


public class Computer {/*** 计算两个图形面积的和* @param s1* @param s2* @return*/
//  public double sumArea(Shape s1,Shape s2) {//
//      double area1 = s1.area();
//      double area2 = s2.area();
//
//      return area1 + area2;//无论传入多少个数据,族中都是放入了 shapes 数组中public double sumArea(Shape ...shapes){double totalArea = 0;//累加的和//使用for-each的方式遍历 shapes 数组for(Shape shape:shapes) {double area = shape.area();//获取每个图形的面积totalArea += area;//进行累加}return totalArea;//返回结果}
}

建立一个main方法运行 的类

public class Application {public static void main(String[] args) {//房屋面积计算器//创建计算器Computer com = new Computer();//创建两个矩形Rect r1 = new Rect(3,5);Rect r2 = new Rect(3,4);//计算矩形面积double totalArea1 = com.sumArea(r1, r2);System.out.println("矩形面积为" + totalArea1);//创建两个三角形Triangle t1 = new Triangle(3,5);Triangle t2 = new Triangle(3,4);//计算三角形面积double totalArea2 = com.sumArea(t1, t2);System.out.println("三角面积为" + totalArea2);//创建两个圆形Circle c1 = new Circle(2);Circle c2 = new Circle(1);//计算圆的面积 double totalArea3 = com.sumArea(c1, c2);System.out.println("圆的面积为" + totalArea3);//计算所有图形混合总面积double totalArea4 = com.sumArea(r1,r2,t1,t2,c1,c2);System.out.println("总面积为" + totalArea4);}}

Java 小练习(图形面积计算器)相关推荐

  1. Java实现简单的计算器

    先来看看界面效果 源码如下: package test1;import java.awt.Frame; import java.awt.TextField; import java.awt.Butto ...

  2. Java小程序:个人所得税计算(与标准个税有差距)

    /***个人所得税计算器* 1.个人所得税起征点5000元:* 2.个税税率表* 级数 预扣预缴所得税额 税率* 1 36000 3%* 2 36000-144000 10%* 3 144000-30 ...

  3. 用Java写一个年薪计算器,助你简单完成大量税前税后总薪计算量

    每个有规模一点的公司都会有会计部门这是毋庸置疑的,但是会计的工作真的如大部分人想的那么简单,只是在每个月的最后几天才忙得不可开交吗 ? 答案当然不是,不然这个岗位早就人满为患了. 目前就我了解到的会计 ...

  4. dw网页插入java小程序_DW网页设计100例35:构建Java插入模块

    Java 是一种程序设计语言, Java applet ( Java 小程序)是在 Java 的基础上演变而成的.能够嵌入在网页中的.可以执行一定小任务的应用程序. 20060407140110aa1 ...

  5. dw网页插入java小程序_DW网页设计35:构建Java插入模块

    Java 是一种程序设计语言, Java applet ( Java 小程序)是在 Java 的基础上演变而成的.能够嵌入在网页中的.可以执行一定小任务的应用程序. 效果说明建立文件,以 Java 计 ...

  6. JAVA图形化界面计算器

    优秀的代码是它自己最好的文档.当你考虑要添加一个注释时,问问自己,"如何能改进这段代码,以让它不需要注释 我是一名在校大学生,这学期刚刚开JAVA课,老师上周留作业让做个计算器,最近一直在搞 ...

  7. 基于Java Swing 亲属关系计算器

    一.项目概要: 基于Java Swing亲属关系计算器 二.界面展示: 三.主要代码: package map;import java.util.HashMap; import java.util.M ...

  8. Java实现图形化计算器(支持括号、开平方)

    Java实现图形化计算器(支持括号.开平方) Java实习作业,实现一个图形化计算器,正好赶上周末作业不多就写了一个计算器.功能不是特别全,但是能满足一些最基本的需求(比如小学三年级及以下的数学题,, ...

  9. 【Java小工匠聊密码学】--base58编码

    1.Base58编码概述 1.1 什么是Base58编码? Base58是比特币的一种特殊编码方式,主要用于产生比特币钱包地址.相比Base64,Base58不使用数字"0",字母 ...

最新文章

  1. php 怎么分布式,php分布式怎么部署
  2. OP_Codes为BCH带来更多更好的解决方案
  3. Ubuntu12.04配置JDK1.8
  4. lucene源代码学习之 lucene的经典打分过程
  5. 微服务,微架构[五]之springboot读取properties文件
  6. 「软件项目管理」一文浅谈软件项目风险计划
  7. PageHelper只对紧跟着的第一条SQL起作用
  8. 有关Canvas的一点小事—图像绘制
  9. JMeter二次开发(1)-eclipse环境配置及源码编译
  10. Net设计模式实例之桥接模式( Bridge Pattern)(4)
  11. background-size属性
  12. 她玩游戏好都不准我玩游戏了_我们可以玩游戏吗?
  13. 江苏计算机二级c语言考试范围,江苏省计算机二级C语言考试大纲
  14. 模型☀️Catia模型到Unity的转化过程
  15. NiFi 1.16.3 生产使用的更新及BUG。
  16. 计算机主板结构分为at,2.2.1 计算机主板结构(1)
  17. 利用cs美化自己的界面
  18. percona-toolkit检查主从一致性
  19. 组装电脑什么配置才适合自己
  20. kddcup99预处理matlab,KDD CUP99数据集预处理(Python实现)-Go语言中文社区

热门文章

  1. Django Web 开发极简实战
  2. 【Mybatis从入门到实战教程】第一章 Mybatis 入门
  3. WEB安全之文件上传--白名单绕过%00截断
  4. 【BZOJ】1778: [Usaco2010 Hol]Dotp 驱逐猪猡
  5. ms-sql数据类型和access数据类型大全
  6. outlook如何同步服务器sent文件夹,.ost 文件的同步问题 - Exchange | Microsoft Docs
  7. hibernate之HQL属性查询
  8. 电脑编程技巧与维护杂志电脑编程技巧与维护杂志社电脑编程技巧与维护编辑部2022年第6期目录
  9. GRE 词汇2(词根)
  10. python代码变量作业_1作业python数据类型 条件循环 列表