//定义一个点类Point,有两个实型点
//定义一个圆类,包括一个点和一个半径,有两个构造方法分别是传入一个点和半径,和传入一个点,在圆类中可以设置点的位置
//有个包含方法,判断一个点是否在圆中
//返回一个点方法
//返回半径方法
//设置半径方法
//求圆面积
//定义两个圆,获取圆心和半径,面积
//重新设置两个圆的点和半径
//判断点是否在圆中
class Point
{
private double x,y;
Point(double _x,double _y)
{
x=_x;
y=_y;
}
public double getX()
{
return x;
}
public double getY()
{
return y;
}
public void setX(double _x)
{
x=_x;
}
public void setY(double _y)
{
y=_y;
}
}
class Cricle
{
private Point p;
double radius;
public Cricle(Point o,double r)
{
p=o;
radius=r;
}
public Cricle(double r)
{
p=new Point(0,0);
radius=r;
}
public void setO(double x,double y)
{
p.setX(x);
p.setY(y);
}
public Point getO()
{
return p;
}
public double getRadius()
{
return radius;
}
public void setRadius(double r)
{
radius=r;
}
public double area()
{
return 3.14*radius*radius;
}
boolean contains(Point o)
{
double x=p.getX()-o.getX();
double y=p.getY()-o.getY();
if (x*x+y*y>radius*radius) return false;
else return true;
}
}
public class TestCircle {
public static void main(String[] args)
{
Cricle c1=new Cricle(new Point(1.0,2.0),2);
Cricle c2=new Cricle(5);
System.out.println(c1.getO().getX()+" "+c1.getO().getY()+" "+c1.getRadius()+" "+c1.area());
System.out.println(c2.getO().getX()+" "+c2.getO().getY()+" "+c2.getRadius()+" "+c2.area());
c1.setO(5, 6);
c2.setRadius(9.0);
System.out.println(c1.getO().getX()+" "+c1.getO().getY()+" "+c1.getRadius()+" "+c1.area());
System.out.println(c2.getO().getX()+" "+c2.getO().getY()+" "+c2.getRadius()+" "+c2.area());
Point p=new Point(5.2,6.3);
System.out.println(c1.contains(p));
System.out.println(c1.contains(new Point(100,106)));
}
}