import java.util.Scanner;
public class Main {
private static Scanner input;
public static void main(String[] args) {
input = new Scanner(System.in);
System.out.print("请输入圆的圆心坐标X,Y和圆的半径:");
Circle2D op1 = new Circle2D(input.nextDouble(),input.nextDouble(),input.nextDouble());
System.out.print("请输入指定那个圆的信息:");
Circle2D op2 = new Circle2D(input.nextDouble(),input.nextDouble(),input.nextDouble());
System.out.print("请输入指定那个点的信息:");
double x = input.nextDouble();
double y = input.nextDouble();
Circle2D op3 = new Circle2D();
System.out.println("The circle's area is "+op1.getArea());
System.out.println("The circle's perimeter is "+op1.getPerimeter());
System.out.println("The circle overlaps with the specified circle: "+op1.overlaps(op2));
System.out.println("The circle contains the specified circle: "+op1.contains(x, y));
}
}
class Circle2D{
private double x;
private double y, 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 getRadius()
{
return this.radius;
}
public double getArea()
{
double area;
area = Math.PI * this.radius * this.radius;
return area;
}
public double getPerimeter()
{
double perimeter;
perimeter = 2 * Math.PI * this.radius;
return perimeter;
}
public boolean contains(double x, double y)
{
if(Math.sqrt((x - this.x) * (x - this.x)
+ (y - this.y) * (y - this.y))<this.radius)
return true;
else
return false;
}
public boolean contains(Circle2D circle)
{
if(Math.sqrt((this.x - circle.x) * (this.x - circle.y)
+ (this.y - circle.y) * (this.y - circle.y))<this.radius)
return true;
else
return false;
}
public boolean overlaps(Circle2D circle)
{
double d = Math.sqrt((circle.x - this.x) *(circle.x - this.x)
+ (circle.y - this.y) * (circle.y - this.y));
if(d < (this.radius + circle.getRadius()))
return true;
else
return false;
}
}
设计一个名为Circle2D的类
最新推荐文章于 2023-11-21 11:14:26 发布