第一步:数学思路思考:

首先肯定是要先证明该点是在一条直线上,我在上篇文章有介绍,可以去看一下,证明一个点在一条直线上,然后去想如何证明一个点在一条线段上,学数学的时候我们知道,如果一个点在一条线段上,那么他的横纵坐标肯定是在这条线段两端的横纵坐标之间,但是注意的是这条线段的斜率不同,该点横纵坐标和线段两端点之间的规律是不同的,所以在书写代码的时候要注意到这一点。

第二步:书写个数学公式:

//当斜率小于等于0的时候
//我在这里只说明其中一种情况(x1>x2,y2>y1),书写代码的时候多加个判断条件就行了x2<a<x1
y1<=b<=y2//当斜率大于0的时候
//我在这里只说明其中一种情况(x1<x2,y1<y2),书写代码的时候多加个判断条件就行了x1<a<x2
y1<b<y2

第三步:代码实现:

//判断一个点在一条线段上 (a,b)是这个点
public static boolean isOnLine(double a,double b,double x1,double y1,double x2,double y2){  boolean bl = false;double p = (y2-y1)/(x2-x1);if(p<=0){if(x1>x2){if(y1>y2){if(a>x2 && a<x1 && b>=y2 && b<=y1){bl = true;}}else{if(a>x2 && a<x1 && b>=y1 && b<=y2){bl = true;}}}else{if(y1>y2){if(a>x1 && a<x2 && b>=y2 && b<=y1){bl = true;}}else{if(a>x1 && a<x2 && b>=y1 && b<=y2){bl = true;}}}}else{if(x1>x2){if(y1>y2){if(a>x2 && a<x1 && b>y2 && b<y1){bl = true;}}else{if(a>x2 && a<x1 && b>y1 && b<y2){bl = true;}}}else{if(y1>y2){if(a>x1 && a<x2 && b>y2 && b<y1){bl = true;}}else{if(a>x1 && a<x2 && b>y1 && b<y2){bl = true;}}}}return bl;
}

我的代码是最初的,如果你觉得太low,你可以对代码进行优化,ok

java如何判断一个点在一条线段上相关推荐

  1. Java:判断一个字符串中是否存在另一个字符子串以及判断一个字符串中是否存在指定字符

    Java:判断一个字符串中包含指定字符子串,判断一个字符串中存在指定字符 字符串的contains方法可以判断一个字符串中是否存在另一个字符子串,示例如下 String Str = "Hel ...

  2. java中判断一个字符在字符串中出现的次数

    源代码: //java中判断一个字符出现的次数//在下面字符串中查找有几个啊public static void testFindChar(){String str = "啊!我爱你中国!啊 ...

  3. java实现判断一个整数是奇数还是偶数(Scanner运用,if判断运用,%求余运用)

    java实现判断一个整数是奇数还是偶数(Scanner运用,if判断运用,%求余运用) 代码: package com.liangrui;import java.util.Scanner;/*** 功 ...

  4. java 判断数字_如何在java中判断一个字符串是否是数字

    前言 数字在某些领域经常用字符串来进行表示和传递.那么我们如何判断一个字符串是否是数字呢?今天我们来探讨一下这个话题. 空字符和null 首先我们可以很清晰的知道空字符""和nul ...

  5. 如何在java中判断一个字符串是否是数字

    前言 数字在某些领域经常用字符串来进行表示和传递.那么我们如何判断一个字符串是否是数字呢?今天我们来探讨一下这个话题. 空字符和null 首先我们可以很清晰的知道空字符""和nul ...

  6. Java 代码实现一个标准输出的进度条,知识点你知道但并不一定会用

    最近阿粉在折腾一台服务器,折腾的过程中往往会需要安装很多依赖软件,有的是在官网下载压缩包,有的是通过系统命令直接安装,在通过系统命令直接安装的时候,就会有类似下面的进度条出现. 进度条在我们日常使用的 ...

  7. Java中判断一个字符串全为数字和字母

    1.使用字符和整数转换 //判断一个字符串中是否全为字母 public static boolean isAllLetters(String str) {char[] chars=str.toChar ...

  8. Java如何判断一个上传文件的内容类型

    关于如何判断一个文件的类型,在如何判断一个文件的类型_jimmyleeee的博客-CSDN博客已经介绍了,但是在实际运用于真正的文件上传时,还是有些注意事项需要注意的. 在进入主题之前,首先需要简单介 ...

  9. 用Java代码判断一个整数是否是质数

    一.判断7是否是质数代码: package cn.tedu.lili; public class Demo02 { public static void main(String[] args) { S ...

最新文章

  1. 数据结构(05)— 线性单链表实战
  2. mysql查询每个id的前10条数据_解决 MySQL 比如我要拉取一个消息表中用户id为1的前10条最新数据...
  3. 第四范式获信通院尖峰开源项目及开源人物双料大奖
  4. 提高计算机技能操作水平,计算机操作技能比赛方案
  5. 使用C#读写ini配置文件
  6. Ant Design暗黑模式设计解析
  7. 备案后才允许上线 网站ICP备案步骤详解
  8. LPC1788 IAP的实现及遇见的问题
  9. 国密祖冲之算法ZUC之Python实现
  10. 聊城大学计算机学院的辅导员,2019年度聊城大学优秀辅导员名单、优秀班主任名单公示...
  11. GetFLV.v9.1.1.8-kg-REPT
  12. 警惕,新增1本,被剔除1本,最新12月SCIE SSCI期刊目录更新
  13. Spring05:面向切面编程
  14. 【硬件】Z7_DDR_pcb layout(纯干货,建议收藏)
  15. Linux网卡固件,CentOS下X710网卡升级驱动和固件脚本 | 聂扬帆博客
  16. PHP链接ctp接口,CTP接口穿透式监管升级后对外接入地址变更,适用SIMNOW 模拟账户...
  17. Windows下Django项目创建
  18. Endnote X4 导入enw文件设置方法
  19. idea下载安装教程(2020 | 2019)
  20. paip 系统无法在消息文件中为 Application 找到消息号为 0x2350 的消息文本 服务器存储空间不足 无

热门文章

  1. Python 实例教学_ 03_列表
  2. NLP-D9-第一场大数据比赛D1知识蒸馏翻译论文CATTI备考-第一套综合
  3. m2接口和nvme协议接口_NVMe协议和SATA的异同
  4. 收藏:NVMe协议基础原理介绍
  5. 计算机专业中级竞聘 报告,中级干部竞聘上岗演讲稿
  6. ubuntu中vi编辑模式下按退格键不能删除内容,按方向键不能上下左右移动
  7. ubuntu12.04设置打印服务器
  8. windows10 安装msdatlst.ocx控件
  9. CIFAR10图像识别
  10. 中文Stable Diffusion模型太乙使用教程