Java源代码:
class Circle2D{
private double x;
private double y;
private double radius;
public double getRadius() {
return radius;
}
public Circle2D(){
this.x = 0;
this.y = 0;
this.radius = 1;
}
public Circle2D(double x, double y, double radius){
this.x = x;
this.y = y;
this.radius =radius;
}
public double getArea(){
return Math.PI*this.radius*this.radius;
}
public double getPerimeter(){
return 2*Math.PI*this.radius;
}
private double dis = Math.sqrt(this.x*this.x+this.y*this.y);
public boolean contains(double x,double y){
return (this.radius>=Math.sqrt((this.x-x)*(this.x-x)+(this.y-y)*(this.y-y)));
}
public boolean contains(Circle2D circle){
if(Math.sqrt((this.x-circle.x)*(this.x-circle.x)+(this.y-circle.y)*(this.y-circle.y))+circle.radius<=this.radius){
return true;
}
return false;
}
public boolean overlaps(Circle2D circle){
if (Math.sqrt((this.x-circle.x)*(this.x-circle.x)+(this.y-circle.y)*(this.y-circle.y))<=this.radius+circle.radius){
return true;
}
return false;
}
}
public class _1011Circle2D {
public static void main(String[] args) {
Circle2D c1 = new Circle2D(2,2,5.5);
System.out.println(c1.getArea());
System.out.println(c1.getPerimeter());
System.out.println(c1.contains(3,3));
System.out.println(c1.contains(new Circle2D(4,5,10.5)));
System.out.println(c1.overlaps(new Circle2D(3,5,2.3)));
}
}