蓝桥杯——矩形面积交(java)


大致思路:
获取矩形的四边在x轴和y轴上的位置,分别用八个变量获取。取得矩形的上边和下边,左边和右边,分别存储。如果两矩形相交,则有一矩形的一点在另一矩形的内部,如下图

用两个判断得出其矩形的点坐标,然后通过相减的出要求的小矩形的x和y,在相乘得出面积。

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);double n1 = input.nextDouble();     //n为第一个矩形的四个边double n2 = input.nextDouble();double n3 = input.nextDouble();double n4 = input.nextDouble();double m1 = input.nextDouble();       //m为第二个矩形的四个边double m2 = input.nextDouble();double m3 = input.nextDouble();double m4 = input.nextDouble();double maxnx,maxmx,minnx,minmx,x = 0,y = 0,maxny,minny,maxmy,minmy;      //max和min来存储两矩形的左边、右边、上边、下边。if(n1>n3){           //判断n的左边和右边maxnx = n1;minnx = n3;}else{maxnx = n3;minnx = n1;}if(m1>m3){         //判断m的左边和右边maxmx = m1;minmx = m3;}else{maxmx = m3;minmx = m1;}if(maxmx >= maxnx && minmx <= minnx){     //x轴上,一矩形在另一矩形内部x = maxnx - minnx;              //获取小矩形的x轴长度}else if(maxnx >= maxmx && minnx <= minmx){x = maxmx - minmx;}else if(maxmx >= minnx && maxmx <= maxnx){       //如果不是x = maxmx - minnx;}else if(maxnx >= minmx && maxnx <= maxmx){x = maxnx - minmx;}//从此处与上方一致,只是求的是y轴if(n2>n4){              maxny = n2;minny = n4;}else{maxny = n4;minny = n2;}if(m2>m4){maxmy = m2;minmy = m4;}else{maxmy = m4;minmy = m2;}if(maxmy >= maxny && minmy <= minny){y = maxny - minny;}else if(maxny >= maxmy && minny <= minmy){y = maxmy - minmy;}else if(maxmy >= minny && maxmy <= maxny){y = maxmy - minny;}else if(maxny >= minmy && maxny <= maxmy){y = maxny - minmy;}double res = x*y;    //用一变量存储答案System.out.println(String.format("%.2f",res));  //保留两位小数}
}

这里我用的是String类的format方法来保留两位小数(个人认为最简单)

java蓝桥杯——矩形面积交相关推荐

  1. 蓝桥杯试题 基础练习 矩形面积交 BASIC-18 JAVA

    目录 前言 试题 基础练习 矩形面积交 本题试题 前言 最近一直搞面试,很多写好的代码都懒得去发博客,现在补上,但是注释可能比较少,大家如果有问题请联系我 试题 基础练习 矩形面积交 资源限制 时间限 ...

  2. 题目 1471:【蓝桥杯】【入门题】【基础练习VIP】矩形面积交

    题目 1471:矩形面积交 蓝桥杯刷题群已成立,微信后台回复[蓝桥杯],即可进入. 如果加入了之前的社群不需要重复加入. 时间限制: 1Sec 内存限制: 128MB 1. 题目描述 平面上有两个矩形 ...

  3. python【蓝桥杯vip练习题库】BASIC-18 矩形面积交(线段交)

    试题 基础练习 矩形面积交 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴.对于每个矩形,我们给出它的一对相对顶点的坐标,请你 ...

  4. 矩形面积交(蓝桥杯)

    矩形面积交 问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴.对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积. 输入格式 输入仅包含两行,每行描述一个矩形 ...

  5. 矩形面积交[蓝桥杯]

    题目链接:矩形面积交 时间限制: 1 Sec 内存限制: 256 MB 题目描述: 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴. 对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出 ...

  6. java 蓝桥杯 基础练习(二)

    11. 十六进制转十进制 ​ 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出. 注:十六进制数中的10~15分别用大写的英文字母A.B.C.D.E.F表示. import ...

  7. java蓝桥杯练习 格子刷油漆

    java蓝桥杯练习 格子刷油漆 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 X国的一段古城墙的顶端可以看成 2*N个格子组成的矩形(如下图所示),现需要把这些格子刷上保护漆. 你 ...

  8. HDU - 1255 覆盖的面积(线段树求矩形面积交 扫描线+离散化)

    链接:线段树求矩形面积并 扫描线+离散化 1.给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积. 2.看完线段树求矩形面积并 的方法后,再看这题,求的是矩形面积交,类同. 求面积时,用被覆 ...

  9. 标题 日期问题java蓝桥杯,日期类的使用(java)-蓝桥杯

    蓝桥杯日期问题常考,java提供了日期类很方便: //日历类 Calendar c = Calendar.getInstance(); // 获取实例化对象 Date date =c.getTime( ...

最新文章

  1. linux中调试脚本,在Linux下调试 Shell 脚本
  2. 【转】上篇:陈皓谈程序员升级:职业规划就像软件工程
  3. 不确定mysql是否安装成功了怎么办
  4. python基础知识-8-三元和一行代码(推导式)
  5. VMware发布虚拟云网络创新技术,连接和保护分布式多云企业
  6. 二元相图软件_Materials Studio 领先的材料模拟软件
  7. 八、图形与图像处理(2)
  8. 基础 | numpy ndarray 之内功心法,理解高维操作!
  9. 哪里购买域名_注册网站域名需要多少钱?如何注册网站域名?
  10. 将后台的返回的格式,根据某个共同的字段分组
  11. 基于Web的SQL Server管理工具(SQL Server Web Tools )
  12. Linux 安装python 模块及库
  13. 【嵌入式】Libmodbus源码分析(四)-RTU相关函数分析
  14. 小学阅读方法六种_小学数学阅读理解解题技巧,附常见的6种方法
  15. java面试之Servlet/JSP面试题
  16. 快速沃尔什变换学习笔记
  17. springboot蛋糕甜品点销售商城系统java
  18. GPU显存占满但利用率却很低
  19. 重读《从菜鸟到测试架构师》-- 开发团队做的远不仅是开发
  20. es拼音分词 大帅哥_8 种架构设计模式优缺点大曝光 | 原力计划

热门文章

  1. opencv-python:读取视频,不改变视频分辨率修改视频帧率
  2. 【剖析】傅里叶变换、拉普拉斯变换、Z变换
  3. 啊哈算法dfs-bfs
  4. c语言程序设计数学电压表,单片机课程设计-数字电压表的设计.doc
  5. odf-File and xdf-File
  6. PDF怎么转换成Excel?用迅读PDF转换器,高效又精准
  7. Deepin wine QQ 安装
  8. Cloud computing application development Topic | Cloud computing
  9. 网络流媒体--SDP会话描述协议(RFC-4566)
  10. 第一范式 第二范式 第三范式 BC范式