Java问题 为一个Cricle类添加一个方法,计算一个点(point对象)是否在圆(Cricl
答案:3 悬赏:0
解决时间 2021-01-13 07:11
- 提问者网友:容嬷嬷拿针来
- 2021-01-12 10:36
Java问题 为一个Cricle类添加一个方法,计算一个点(point对象)是否在圆(Cricl
最佳答案
- 二级知识专家网友:一把行者刀
- 2021-01-12 11:24
刚刚写的,本机测试通过:
import java.awt.Point;
public class Cricle {
// 圆点
private Point cricleCenter = null;
// 半径
private double radius = 0;
public Cricle(Point cricleCenter, double radius) {
this.cricleCenter = cricleCenter;
this.radius = radius;
}
public boolean isInCricle(Point aPoint) {
double distance = Point.distance(
cricleCenter.getX(), cricleCenter.getY(), aPoint.getX(), aPoint.getY());
return radius >= distance;
}
public Point getCricleCenter() {
return cricleCenter;
}
public void setCricleCenter(Point cricleCenter) {
this.cricleCenter = cricleCenter;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public static void main(String[] args) {
Cricle cricle = new Cricle(new Point(5, 5), 5);
Point point1 = new Point(5, 6);
Point point2 = new Point(5, 12);
System.out.println("点1是否在圆内:" + cricle.isInCricle(point1));
System.out.println("点2是否在圆内:" + cricle.isInCricle(point2));
}
}
import java.awt.Point;
public class Cricle {
// 圆点
private Point cricleCenter = null;
// 半径
private double radius = 0;
public Cricle(Point cricleCenter, double radius) {
this.cricleCenter = cricleCenter;
this.radius = radius;
}
public boolean isInCricle(Point aPoint) {
double distance = Point.distance(
cricleCenter.getX(), cricleCenter.getY(), aPoint.getX(), aPoint.getY());
return radius >= distance;
}
public Point getCricleCenter() {
return cricleCenter;
}
public void setCricleCenter(Point cricleCenter) {
this.cricleCenter = cricleCenter;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public static void main(String[] args) {
Cricle cricle = new Cricle(new Point(5, 5), 5);
Point point1 = new Point(5, 6);
Point point2 = new Point(5, 12);
System.out.println("点1是否在圆内:" + cricle.isInCricle(point1));
System.out.println("点2是否在圆内:" + cricle.isInCricle(point2));
}
}
全部回答
- 1楼网友:轮獄道
- 2021-01-12 13:24
已知圆心坐标cx,cy;半径r;点坐标px,py
点相对圆心坐标p2x = px-cx;p2y = py-cy;
点到圆心距d*d = p2x*p2x+p2y*p2y
d-r<0则在圆内
追问:这就是程序?
追答:嗯,你没学过?
点相对圆心坐标p2x = px-cx;p2y = py-cy;
点到圆心距d*d = p2x*p2x+p2y*p2y
d-r<0则在圆内
追问:这就是程序?
追答:嗯,你没学过?
- 2楼网友:归鹤鸣
- 2021-01-12 12:56
step1 :创建一个cricle类。创建一个cricle,当然需要两个参数:圆心(point), 半径(R)
step2: 判断一个点,是否在园内,其实就是判断圆心到该点的距离L与半径R的关系。当L>R时,点在圆外;L=R时,点在圆上;L<R时,点在圆内。
具体代码:(手写代码,可能会有些语法错误,需要在编译器上修正下)
class Cricly{
private point center;
private double radius;
public Cricle(point x,double r){
this.center=x;
this.radius = r;
}
public boolean isOutOfCirCle(point p){
//计算两点之间的距离
double distances = Math.sqrt((center.x-p.x)*(center.x-p.x) + (center.y-p.y)*(center.y-p.y))
if (distances > radius){
return true;
}else{
return false;
}
}
}
step2: 判断一个点,是否在园内,其实就是判断圆心到该点的距离L与半径R的关系。当L>R时,点在圆外;L=R时,点在圆上;L<R时,点在圆内。
具体代码:(手写代码,可能会有些语法错误,需要在编译器上修正下)
class Cricly{
private point center;
private double radius;
public Cricle(point x,double r){
this.center=x;
this.radius = r;
}
public boolean isOutOfCirCle(point p){
//计算两点之间的距离
double distances = Math.sqrt((center.x-p.x)*(center.x-p.x) + (center.y-p.y)*(center.y-p.y))
if (distances > radius){
return true;
}else{
return false;
}
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息