class Point
{
private double x;
private double 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 Circle
{
private Point o;
private double radius;
Circle(Point p,double r)
{
o=p;
radius = r;
}
Circle(double r)
{
o=new Point(0.0,0.0);
radius = r;
}
boolean contains(Point p)
{
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 void setO(double x, double y)
{
o.setX(x);
o.setY(y);
}
public Point getO()
{
return o;
}
public double getRadius()
{
return radius;
}
public void setRadius(double r)
{
radius = r;
}
public double area()
{
return 3.14*radius*radius;
}
}
public class TestCircle
{
public static void main(String[] args)
{
Circle c1= new Circle(new Point(1.0,2.0),2.0);
Circle c2 = new Circle(5.0);
System.out.println("c1.o=("+c1.getO().getX()+","+c1.getO().getY()+"),c1.r="+c1.getRadius());
System.out.println("c2.o=("+c2.getO().getX()+","+c2.getO().getY()+"),c2.r="+c2.getRadius());
System.out.println("c1.area="+c1.area());
System.out.println("c2.area="+c2.area());
c1.setO(5,6);
c2.setRadius(9.0);
System.out.println("c1.o=("+c1.getO().getX()+","+c1.getO().getY()+"),c1.r="+c1.getRadius());
System.out.println("c2.o=("+c2.getO().getX()+","+c2.getO().getY()+"),c2.r="+c2.getRadius());
System.out.println("c1.area="+c1.area());
System.out.println("c2.area="+c2.area());
Point p1= new Point(5.2,6.3);
System.out.println(c1.contains(p1));
System.out.println(c1.contains(new Point(10.0,9.0)));
}
}
------------------------------------------------------------------------------------------------