编写程序,提示用户输入两个圆的中心坐标和各自的半径值,然后判断第二个圆是在第一个圆内,还是和第一个圆重叠。
package pack2;
import java.util.Scanner;
import javafx.geometry.Point2D;
import javafx.scene.shape.Circle;
public class TwoCircle {
public static void main(String[] args) {
try(Scanner input = new Scanner(System.in);) {
System.out.print("Enter circle1's x-, y-coordinates, and radius: ");
Circle c1 = new Circle(input.nextDouble(), input.nextDouble(),
input.nextDouble());
System.out.print("Enter circle2's x-, y-coordinates, and radius: ");
Circle c2 = new Circle(input.nextDouble(), input.nextDouble(),
input.nextDouble());
System.out.println(judge(c1, c2));
}
}
//判定两个圆
public static String judge(Circle c1, Circle c2) {
double distance = new Point2D(c1.getCenterX(), c1.getCenterY())
.distance(c2.getCenterX(), c2.getCenterY()); //圆心距离
if(distance <= Math.abs(c1.getRadius() - c2.getRadius())) //距离 <= |r2 - r1|时
return "circle2 is inside circle1";
else if(distance <= c1.getRadius() + c2.getRadius()) //距离 <= r2 + r1时
return "circle2 overlaps circle1";
else
return "circle2 does not overlap circle1";
}
}