*10.15编写一个方法,为二维平面上一系列点返回一个边框

  • 题目
    • 程序
  • 代码
    • Test15.java
    • Test13_MyRectangle2D.java
    • 运行结果

题目


点击这里跳转编程练习题10.13

程序

Test15.java:测试程序
Test13_MyRectangle2D.java:编程练习题10.13构造程序

代码

Test15.java

import java.util.Scanner;public class Test15 {public static void main(String[] args) {// 获取5个点的坐标double[][] points = new double[5][2];System.out.print("Enter five points: ");Scanner input = new Scanner(System.in);for (int m = 0 ; m < 5 ; m++){for (int n = 0 ; n < 2 ; n++){points[m][n] = input.nextDouble();}}// 结束结果Test13_MyRectangle2D mt = getRectangle(points);System.out.print("The bounding rectangle's center (" + mt.getX() + ", " + mt.getY() +"), width " +mt.getWidth() + ", height " + mt.getHeight());}public static Test13_MyRectangle2D getRectangle(double[][] points){double xMax = points[0][0], yMax = points[0][1], xMin = points[0][0], yMin = points[0][1];for (int a = 0 ; a < points.length ; a++){if (points[a][0] > xMax)xMax = points[a][0];if (points[a][0] < xMin)xMin = points[a][0];if (points[a][1] > yMax)yMax = points[a][1];if (points[a][1] < yMin)yMin = points[a][1];}return new Test13_MyRectangle2D((xMax + xMin) / 2, (yMax + yMin) / 2, xMax - xMin, yMax - yMin);}
}

Test13_MyRectangle2D.java

public class Test13_MyRectangle2D {private double x, y;public double getX() {return x;}public void setX(double x) {this.x = x;}public double getY() {return y;}public void setY(double y) {this.y = y;}private double width, height;public double getWidth() {return width;}public void setWidth(double width) {this.width = width;}public double getHeight() {return height;}public void setHeight(double height) {this.height = height;}public Test13_MyRectangle2D(){x = 0;y = 0;width = 1;height = 1;}public Test13_MyRectangle2D(double x, double y, double width, double height){this.x = x;this.y = y;this.width = width;this.height = height;}public double getArea(){return width * height;}public double getPerimeter(){return 2 * (width + height);}public boolean contains(double x, double y){boolean bool1 = false, bool2 = false;if (x > this.x - width / 2 && x < this.x + width / 2)bool1 = true;if (y > this.y - height / 2 && y < this.y + height / 2)bool2 = true;return bool1 && bool2;}public boolean contains(Test13_MyRectangle2D r){return ((Math.abs(x - r.x)) < width / 2) && (Math.abs(y - r.y) < height / 2);}public boolean overlaps(Test13_MyRectangle2D r){return ((Math.abs(x - r.x)) < (width / 2 + r.width / 2)) && (Math.abs(y - r.y) < (height / 2 + r.height / 2));}
}

运行结果

Enter five points:1.0 2.5 3 4 5 6 7 8 9 10
The bounding rectangle's center (5.0, 6.25), width 8.0, height 7.5

Java黑皮书课后题第10章:*10.15(几何:边框)边框是指包围一个二维平面上点集的最小矩形,编写一个方法,为二维平面上一系列点返回一个边框相关推荐

  1. Java黑皮书课后题第6章:**6.31(金融应用:信用卡号的合法性验证)和**6.32 编写程序,提示用户输入一个long型整数的信用卡号码,显示这个数字是合法的还是非法的

    6.31(金融应用:信用卡号的合法性验证)编写程序,提示用户输入一个long型整数的信用卡号码,显示这个数字是合法的还是非法的 6.31题目 题目描述 破题 6.31代码 6.32 代码 运行实例 6 ...

  2. Java黑皮书课后题第5章:**5.45(统计:计算平均值和标准方差)在商务应用中……编写一个程序,提示用户输入10个数字,然后运用下面的公式,显示这些数字的平均值以及标准方差

    5.45(统计:计算平均值和标准方差)在商务应用中--编写一个程序,提示用户输入10个数字,然后运用下面的公式,显示这些数字的平均值以及标准方差 题目 题目描述 破题 运行示例 代码 题目 题目描述 ...

  3. Java黑皮书课后题第6章:**6.25(将毫秒转化成小时、分钟、秒数)使用下面的方法头,编写一个将毫秒数转换成小时数、分钟数和描述的方法,返回形式如“小时:分钟:秒“

    6.25(将毫秒转化成小时.分钟.秒数)使用下面的方法头,编写一个将毫秒数转换成小时数.分钟数和描述的方法,返回形式如"小时:分钟:秒" 题目 题目描述 破题 代码 运行实例 题目 ...

  4. Java黑皮书课后题第9章:*9.10(代数:二次方程式)为二次方程式设计一个名为QuadraticEquation的类

    Java黑皮书课后题第9章:*9.10(代数:二次方程式)为二次方程式设计一个名为QuadraticEquation的类 题目 破题 代码 Test10 Test10_QuadraticEquatio ...

  5. Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类)设计一个名为Person的类及其两个名为Student和Employee的子类

    Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类) 题目 缺陷 UML图 代码 Test02_MyDate.java:用于参考的My ...

  6. Java黑皮书课后题第9章:**9.13(Location类)设计一个名为Location的类,定位二维数组中的最大值及其位置。

    Java黑皮书课后题第9章:**9.13(Location类)设计一个名为Location的类,定位二维数组中的最大值及其位置 题目 破题 代码 Test13 Test13_Location 运行结果 ...

  7. Java黑皮书课后题第1章:1.12(以千米计的平均速度)假设一个跑步者1小时40分35秒跑了24英里。编写一个程序显示以每小时为多少千米为单位的平均速度值(1英里等于1.6千米)

    Java黑皮书课后题第1章:1.12(以千米计的平均速度) 题目 题目描述 破题 代码块 修改日志 题目 题目描述 1.12(以千米计的平均速度)假设一个跑步者1小时40分35秒跑了24英里.编写一个 ...

  8. Java黑皮书课后题第1章:1.6(数列求和)编写程序,显示1+2+3+4+5+6+7+8+9的结果

    Java黑皮书课后题第1章:1.6(数列求和) 题目 题目描述 槽点 代码 代码块 区分println(x)与println("x") 法1法2选用 修改日志 题目 题目描述 1. ...

  9. Java黑皮书课后题第9章:**9.9(几何:正n边形)在一个正n边形中,所有边的长度都相同,且所有角的度数都相等(即这个多边形是等边等角的)

    Java黑皮书课后题第9章:**9.9(几何:正n边形)在一个正n边形中,所有边的长度都相同,且所有角的度数都相等(即这个多边形是等边等角的) 题目 破题 代码 Test9 Test9_Regular ...

  10. Java黑皮书课后题第9章:**9.12(几何:交点)假设两条线段相交。第一条线段的两个端点是(x1, y1)和(x2, y2),第二条线段的两个端点是(x3, y3)和(x4, y4)

    Java黑皮书课后题第9章:**9.12(几何:交点)假设两条线段相交.第一条线段的两个端点是(x1, y1)和(x2, y2),第二条线段的两个端点是(x3, y3)和(x4, y4) 题目 破题 ...

最新文章

  1. ElasticSearch 基础概念学习(未完)
  2. lcd timing 先关参数
  3. Android踩坑日记:RecyclerView中EditText和ImageView的ViewHolder复用坑
  4. Spring加载流程源码
  5. 如何在vue中使用sass
  6. Java方法及构造方法
  7. Windows Server_2008下搭建个人下载服务器(FTP)
  8. c++ 编译时检测结构体大小的的宏定义写法
  9. Visual Studio Code 运行html文件右键Open In Other Browsers提示找不到Chrome的解决办法
  10. ➤mobi➢azw3➢epub⇨电子书阅读器 转换器
  11. 2.郝斌C语言笔记——优缺点
  12. 清除chrome浏览器缓存
  13. unity 2020 怎么写shader使其接受光照?_Unity中实现2D光照系统
  14. 《.NET大局观》--嬗变的痛苦
  15. python桌面界面开发在那种编译器写代码_Python智慧编程——第1讲 遇见Mu editor
  16. Kafka生产者是如何发送消息的?
  17. python中raise啥意思_python raise什么意思
  18. 3月18日面试题复盘
  19. AUTOSAR开发工具DaVinci Configurator里的Modules
  20. 算法概念【PPT整理】

热门文章

  1. php解析doc试卷,PHP试题(卷)带答案解析.doc
  2. 一份不大的救命文档,一场时间与生死的接力
  3. Quick Audience组织和工作空间功能解读
  4. Hologres揭秘:高性能原生加速MaxCompute核心原理
  5. 双12来了!揭秘秒杀剁手背后的云数据库PolarDB!
  6. 揭秘MySQL生态重要功能,X-Engine引擎核心能力——OnlineDDL
  7. 机器学习在高德用户反馈信息处理中的实践
  8. 不用 H5,闲鱼 Flutter 如何玩转小游戏?
  9. 你以为的并不是你所以为的,《传说之下》Undertale打破游戏的墙
  10. SQL Editor and reconnect【mysql(workbench)更新数据时候的一个异常】【Error Code:1175】