判断点与圆的位置关系

第一步,创建一个类,代表二维空间的一个点。二维空间确定一个点可参考平面直角坐标系中,确定了x坐标和y坐标,即可确定点的位置

package com.tyl.homework;import java.util.Scanner;
/*** 点类*/
public class Point {//x轴坐标值double x;//y轴坐标值double y;//Point类的无参构造器public Point(){}//Point类的有参构造器public Point(double x,double y){this.x = x;this.y = y;}//创建一个点的方法public  static  Point createPoint(){Scanner tools = new Scanner(System.in);System.out.println("请依次输入你想要创建的点的x坐标和y坐标:");Point p = new Point(tools.nextDouble(),tools.nextDouble());return p;}
}

确定圆只需要知道圆的圆心位置和半径长度,圆心可直接定义为上面的Point类引用类型,半径即基本类型中的double类型。代码中的Circle类重写了其中的area(求面积)方法和perimeter(求周长),因为Circle类继承了抽象类Figure,这一步非必需,可选择不继承和重写。

/***圆类*/
import java.util.Scanner;import static java.lang.StrictMath.PI;public class Circle extends Figure{//圆心:p,自定义的Point类型Point p;//半径:rdouble r;//Circle类的无参构造器public Circle(){}//Circle类的有参构造器public Circle(double r){this.r = r;}//计算面积的方法:S=圆周率*半径的平方@Overridepublic double area(){//S=圆周率*半径的平方return PI*r*r;}//计算圆的周长 c=2*半径*圆周率@Overridepublic double perimeter() {return 2*r*PI;}//创建一个圆public static Circle createCircle() {Scanner tools = new Scanner(System.in);System.out.println("请输入圆的半径值:");Circle c = new Circle(tools.nextDouble());//设置圆的圆心坐标System.out.println("请输入圆心的x坐标和y坐标:");Point p1 = new Point(tools.nextDouble(),tools.nextDouble());//把点p1赋值给圆c1的圆心pc.p = p1;return c;}//判断点与圆的位置关系public void position(Point p1){//点到圆心的距离公式(此处distance未开方,因此if中与r平方比较)double distance =(p1.x-p.x)*(p1.x-p.x)-(p1.y-p.y)*(p1.y-p.y);/*点到圆心的距离等于半径,点在圆上点到圆心的距离小于半径,点在圆内点到圆心的距离大于半径,点在圆外*/if (distance==r*r){System.out.println("点在圆上");}else if (distance<r*r){System.out.println("点在圆内");}else if (distance>r*r){System.out.println("点在圆外");}}
}

测试代码

package com.tyl.homework;/*** 计算圆的面积,并判断点与圆的位置关系*/
public class Demo {public static void main(String[] args) {Circle c1 = Circle.createCircle();//调用周长方法求圆的周长System.out.println("所求圆的周长为:"+c1.perimeter());//调用面积方法计算圆的面积System.out.println( "所求圆的面积为:"+c1.area());//调用createPoint方法创建一个点P2Point p2 = Point.createPoint();//调用position方法判断点与圆的位置关系c1.position(p2);}
}

运行结果:

D:\software\jdk-14.0.1\bin\java.exe "-javaagent:D:\software\JetBrains\IntelliJ IDEA 2020.1\lib\idea_rt.jar=51767:D:\software\JetBrains\IntelliJ IDEA 2020.1\bin" -Dfile.encoding=UTF-8 -classpath D:\Code0625\out\production\Code0625 com.tyl.homework.Demo
请输入圆的半径值:
3
请输入圆心的x坐标和y坐标:
2
3
所求圆的周长为:18.84955592153876
所求圆的面积为:28.274333882308138
请依次输入你想要创建的点的x坐标和y坐标:
4
5
点在圆内Process finished with exit code 0

判断点与圆的位置关系相关推荐

  1. c++实现判断点与圆的位置关系

    Question: c++实现判断点与圆的位置关系 (1)点在圆上 (2)点在圆内 (3)点在圆外 c++代码实现: #include <iostream>using namespace ...

  2. 如何判断直线和圆的位置关系?

    在学生已经掌握"直线的方程"和"圆的方程"的基础上,会进一步研究直线与圆的位置关系.通过课本上的介绍,我们知道直线与圆的位置关系包括了好几种,那么怎样才能给学生 ...

  3. C++实现设计一个圆形类(Circle),和一个点类(Point), 计算并判断点和圆的位置关系

    题目要求 设计一个圆形类(Circle),和一个点类(Point), 计算并判断点和圆的位置关系. 无分区版 : #include <iostream> using namespace s ...

  4. C++类实例:判断点和圆的位置关系

    C++学习记录 给定一个点和一个圆,总体有三个位置关系:1.点在圆内:2.点在圆外:3.点在圆上 设计一个C++程序,输入一个圆的坐标和半径,以及一个点的位置坐标,实现相对位置的判断.如下图所示: u ...

  5. 判断点与圆的位置关系(点在圆内,点在圆外)

    //定义一个Point类,其属性包括点的坐标,提供计算 //两点之间距离的方法 //定义一个Circle类,其属性包括圆心和半径 //创建两个圆形对象,提示用户输入圆心坐标和半径, //判断两个圆是否 ...

  6. 直线与圆的位置关系怎么判断

    <直线与圆的位置关系>这个知识点应用比较广泛,是几何知识的一个综合运用,在今后的解题及几何证明中,将起到重要的作用,所以就必须熟练掌握它们之间有哪些位置关系.为了更好地理解,我们可以借助数 ...

  7. 24.2.2直线和圆的位置关系(1)教学设计

    本课通过学生动手画图并实践操作,直观感受直线和圆的三种位置关系.设圆心到直线的距离为d,半径为r,然后归纳d与r的数量关系对应直线和圆的位置关系,利用数形结合让学生理解相关知识. 课堂检测部分设计A组 ...

  8. c语言在平面直角坐标系中,给定一个圆的圆心坐标Ox,Oy以及半径R,在再给定一个点的坐标PX,Py,请判断这个点与圆的位置关系。

    在平面直角坐标系中,给定一个圆的圆心坐标Ox,Oy以及半径R,在再给定一个点的坐标PX,Py,请判断这个点与圆的位置关系. 输入格式: 先输入三个正整数,分别代表圆心的横纵坐标x,Oy和半径R. 在输 ...

  9. 直线与圆位置关系的c语言,直线和圆的位置关系说课稿

    直线和圆的位置关系说课稿 作为一名老师,通常需要用到说课稿来辅助教学,说课稿是进行说课准备的文稿,有着至关重要的作用.写说课稿需要注意哪些格式呢?以下是小编收集整理的直线和圆的位置关系说课稿,仅供参考 ...

最新文章

  1. WordPress添加前台注册功能
  2. 《游戏服务器的架构演进》阅读笔记
  3. 大学计算机组装与维修考试题,【校选修】计算机组装与维修 考试题
  4. Linux运维架构师、SRE技术图谱
  5. 虚拟现实技术利用计算机,虚拟现实技术在计算机专业教学中的应用思考
  6. 中文python笔记_python 中文编码笔记
  7. 003 HandlerMapping
  8. java基础—GUI概述
  9. tp3.2 访问地址url大小写及控制器多个单词组成时url
  10. 训练模型以识别文本中的情绪 3 NLP 零到英雄 Training a model to recognize sentiment in text
  11. 碳纤维导线内部X光探伤图像数据集(可用于图像分类与目标检测)
  12. dtcms分页含多个参数,多个参数分页
  13. win10安装Docker Desktop完成之后打开一直显示Docker failed to initialize
  14. java审批流创建及代码流程
  15. C语言求Fibonacci数列
  16. codeblocks修改字体报错的问题解决
  17. RPG游戏-道具系统
  18. 基于autojs7的亚丁号点淘辅助
  19. C语言数据结构线性表上机实验报告,数据结构实验报告实验一线性表_图文
  20. JS 文件压缩与反压缩

热门文章

  1. camera isp 介绍
  2. 鸿蒙系统和三星系统,三星ONE UI对比鸿蒙系统反应速度:都曾不被看好,如今都很快!...
  3. 营业执照正本与副本的区别
  4. 9、sysnchronized原理
  5. iebook第一门户凭什么为企业电子商刊第一平台?
  6. 共享面部识别,让罪犯在阿sir面前无所遁形!
  7. 为您讲述交流变频电源的基本原理和发展史
  8. c语言贪吃蛇游戏报告,贪吃蛇游戏c程序报告.docx
  9. configure: error: readline library not found 解决方法
  10. AcWing 1101. 献给阿尔吉侬的花束【BFS】