首页 > 编程语言 >Java计算两点间的距离

Java计算两点间的距离

时间:2023-08-12 15:58:22浏览次数:48  
标签:y2 Java BigDecimal double 距离 y1 两点 x2 x1

public class PointUtils {

   public static void main(String[] args) {
        BigDecimal x1 = new BigDecimal("0");
        BigDecimal y1 = new BigDecimal("0");
        BigDecimal x2 = new BigDecimal("-1");
        BigDecimal y2 = new BigDecimal("-1");
        BigDecimal distance = getDistance(x1, y1, x2, y2);

        System.out.println(distance);
    }

    /**
     * 计算两点间的距离
     * @param x1 点位1 x坐标
     * @param y1 点位1 y坐标
     * @param x2 点位2 x坐标
     * @param y2 点位2 y坐标
     * @return
     */
   public static BigDecimal getDistance(BigDecimal x1, BigDecimal y1, BigDecimal x2, BigDecimal y2) {

       if (Objects.isNull(x1) || Objects.isNull(y1) || Objects.isNull(x2) ||Objects.isNull(x2) ) {
           log.error("坐标不能为空");
           return null;
       }
       double x11 = x1.doubleValue();
       double y11 = y1.doubleValue();
       double x22 = x2.doubleValue();
       double y22 = y2.doubleValue();

       double juli = Math.sqrt(Math.abs((x22 - x11)* (x22 - x11)+(y22 - y11)* (y22 - y11)));

       return BigDecimal.valueOf(juli);
   }
}

 

标签:y2,Java,BigDecimal,double,距离,y1,两点,x2,x1
From: https://www.cnblogs.com/xmcog/p/17624908.html

相关文章

  • 复习 - Java 基本语法
    前言有两年没有怎么使用过Java了,重新复习一下基础的内容,特此记录。视频课程为B站尚硅谷宋红康java基础视频。关键字和保留字关键字定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)特点:关键字中的所有字母都为小写保留字定义:现有的Java版本尚未使用,但以后版本......
  • How to set z-index order in Canvas using javascript All In One
    Howtosetz-indexorderinCanvasusingjavascriptAllInOne如何使用javascript在Canvas中设置z-index顺序globalCompositeOperation//全局作用域globalscopeconstcvs=document.querySelector("#canvas");constctx=canvas.ge......
  • java字符串String类的常用方法
    java字符串String类的常用方法字符串的创建:(1)定义字符串直接赋值,在字符串池中开辟空间()Stringstr1=“Hello”;//在字符串池中写入字符串"hello"Stringstr2=“Hello”;//直接引用字符串池中的"Hello"System.out.println(str1==str2);//地址相同,输出:true(2)使用new关键字调用字......
  • java opencv绘制工字型
    javaopencv绘制工字型 packagecom.vfsd.core;importjava.util.ArrayList;importjava.util.List;importorg.opencv.core.Core;importorg.opencv.core.CvType;importorg.opencv.core.Mat;importorg.opencv.core.Point;importorg.opencv.core.Rect;importorg......
  • java解析xml获取节点的属性
    1、java解析xml中返回的数据???2、java中dom4j解析xml文件怎么获取节点属性3、详解Java解析XML的四种方法4、使用Java自带SAX工具解析XML5、Java解析XML的几种方法java解析xml中返回的数据???JDOM生成和解析XML为减少DOM、SAX的编码量,出现了JDOM优点:20-80原则,极大减少......
  • 【Java】智慧工地源码-支持私有化部署,SaaS模式+全套硬件设备
    智慧工地硬件设备包括:AI识别一体机、智能广播音响、标养箱、塔机黑匣子、升降机黑匣子、吊钩追踪控制设备、扬尘监测设备、喷淋设备。1.什么是AI危险源识别AI危险源识别是指基于智能视频分析技术,对视频图像信息进行自动分析识别,以实时监测危险区域的人员闯入、靠近等危险行为,从......
  • Java | 如何学习Java
    1、确定需求工作需要跳槽,对方要求技术控2、看看能否使用传统技术解决能解决,但是不能完美的解决完全解决不了3、引出我们学习的新技术和知识点4、学习新技术或者知识点的基本原理和基本语法(不要考虑细节)5、快速入门(基本程序,crud)6、开始研究技术的注意事项(重中之重)......
  • 【面试题】 JavaScript中高级语法--?? 表达式 的作用
    前言在JavaScript中,双问号(??)表达式是一种非常有用的方法。它的作用是用来检测一个值是否为null或undefined。如果该值为null或undefined,那么双问号表达式会返回一个默认值。下面我们就来具体探究一下双问号表达式的用法,以及它与其他相似方法的区别。具体用法。其实,双问号表达式就是......
  • Java源码解析-重点集合框架篇
    Java源码解析,集合篇一:故事背景二:数据结构2.1线性结构2.2非线性结构三:集合分类3.1结构图四:详细分析4.1List4.1.1ArrayList4.1.1.1底层结构4.1.1.2主要特点4.1.2LinkedList4.1.2.1底层结构4.1.2.2主要特点4.1.3Vector和Stack4.1.3.1Vector4.1.3.1Stack五:总结提升一:故......
  • 欢迎大家加入JAVA技术开发讨论
    最近加了一些java的开发群,感觉每个群的技术氛围都不浓厚,很多问题出来后,根本没人理会。想现在建立一个技术氛围浓厚的java技术问答群,欢迎有兴趣的同学加入。近期也汇总了一些觉得不错的资料,欢迎大家一起进步学习!注:本群不收费,也不做广告推广,仅技术交流。加群方式:点击链接获......