用JAVA编写一个点在不在圆内,里面该怎么填?

publicclassCircle{Pointcenter;intradius;publicCircle(Pointcenter,intradius){///......... public class Circle{
Point center;
int radius;

public Circle(Point center, int radius){
///..........
}

//.... getter/setter 。。。。。。。

// 。。。 printInfo .......
// 该圆的圆心是: (3, 4), 半径是: 5

//求某一个点是否在本圆内
public boolean isInside(Point p){
///.................
}

//求两个圆心之间的距离的平方
public int distance(Circle c){
///...........
}

public static void main(String[] args){
Point p1 = new Point(1,1);
Circle c1 = new Circle(p1, 3);
c1.printInfo();

Point p2 = new Point(5,5);
boolean f = c1.isInside(p2); //false
System.out.println(f);

Point p3 = new Point(7,8);
Circle c2 = new Circle(p3, 5);
int dis = c1.distance(c2);
System.out.println("两个圆之间的距离的平方是:" + dis);

}
}
展开
 我来答
钺弘毅G6
2012-09-21 · TA获得超过226个赞
知道小有建树答主
回答量:300
采纳率:0%
帮助的人:67.3万
展开全部
哥们,首先告诉你这是一道数学题不是编程题,你这少个Point的类,我们暂且用p.x\p.y来描述p点的xy坐标,有不懂可以再问我。

//求某一个点是否在本圆内
public boolean isInside(Point p){
Boolean bool=false
if(((p.x-3)*(p.x-3)+(p.y-4)*(p.y-4))==5*5) {
bool=true;
}
return bool;
}

//求两个圆心之间的距离的平方
public int distance(Circle c){
int s=0;
s= ((p.x-3)*(p.x-3)+(p.y-4)*(p.y-4));
return s;
}
追问
哥,能帮我根据这个壳写个完整的吗?我是个Java初学者,所以还有很多的方法不太熟。这是我们老师给我们的壳,让我们往里面填。谢谢了.....
追答
  package com.baidu.help;
  import java.awt.Point;
  public class Circle{
  Point center;
  int radius;

  public Circle(Point center, int radius){
  this.center=center;
  this.radius=radius;
  }
  public Point getCenter() {
  return center;
}

  public void setCenter(Point center) {
  this.center = center;
}

  public int getRadius() {
  return radius;
}

  public void setRadius(int radius) {
  this.radius = radius;
  }

  public void printInfo(){
  Point p=new Circle(center, radius).getCenter();

  System.out.println("该圆的圆心是: ("+p.getX()+","+p.getY()+"), 半径是: "+getRadius());
}

  //求某一个点是否在本圆内
  public boolean isInside(Point p){
  Boolean bool=false;
  if(((p.x-3)*(p.x-3)+(p.y-4)*(p.y-4))==5*5) {
  bool=true;
  }
return bool;

  }

  //求两个圆心之间的距离的平方
  public int distance(Circle c){
  Point p=new Circle(center, radius).getCenter();
  Point p2=c.getCenter();
  int s=0;
  s= ((p.x-p2.x)*(p.x-p2.x)+(p.y-p2.y)*(p.y-p2.y));
return s;

  }

  public static void main(String[] args){
  Point p1 = new Point(1,1);
  Circle c1 = new Circle(p1, 3);
  c1.printInfo();

  Point p2 = new Point(5,5);
  boolean f = c1.isInside(p2); //false
  System.out.println(f);

  Point p3 = new Point(7,8);
  Circle c2 = new Circle(p3, 5);
  int dis = c1.distance(c2);
  System.out.println("两个圆之间的距离的平方是:" + dis);

  }
}
fengyu8881
2012-09-21 · TA获得超过139个赞
知道答主
回答量:239
采纳率:0%
帮助的人:131万
展开全部
只要 这个点(x1,y1)与圆心 (x0,y0) 的距离 < 半径 就返回 true(在圆内)
你搜索下java的取平方根函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-09-21
展开全部
判断点到圆心之间的距离是否小于半径,小于半径在圆内
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
EvilProxy
2012-09-21 · TA获得超过294个赞
知道小有建树答主
回答量:280
采纳率:100%
帮助的人:264万
展开全部
public boolean isInside(Point p){
return dis(p.x, p.y, this.center.x, this.center.y) <=0

}
public int distance(Circle c){
return dis(c.center.x, c.center.y, this.center.x, this.center.y);

}
// 距离计算

public double dis(int x1, int y1, int x2, int y2){
return Math.sqrt(Math.pow((x2-x1), 2)+Math.pow((y2-y1), 2));
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式