判断两个圆是否重叠
圆心之间的距离和 |r1-r2|及(r1+r2)之间比较
import java.util.*;
import javax.swing.*;
class Main {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("Enter circle1's center x-, y-coordinates, and radius: ");
double centerOfCircle1x = input.nextDouble();
double centerOfCircle1y = input.nextDouble();
double radiusOfCircle1 = input.nextDouble();
System.out.print("Enter circle2's center x-, y-coordinates, and radius: ");
double centerOfCircle2x = input.nextDouble();
double centerOfCircle2y = input.nextDouble();
double radiusOfCircle2 = input.nextDouble();
double gapOfradius = Math.pow((radiusOfCircle1 - radiusOfCircle2)
* (radiusOfCircle1 - radiusOfCircle2), 0.5);
double distanceOfTwoCircles = Math.pow((centerOfCircle1x - centerOfCircle2x) *
(centerOfCircle1x - centerOfCircle2x) +
(centerOfCircle1y - centerOfCircle2y) * (centerOfCircle1y - centerOfCircle2y) , 0.5);
if(distanceOfTwoCircles <= gapOfradius && radiusOfCircle2 <= radiusOfCircle1){
System.out.print("circle2 is inside circle1");
}else if(distanceOfTwoCircles <= gapOfradius && radiusOfCircle1 < radiusOfCircle2){
System.out.print("circle1 is inside circle2");
}else if(distanceOfTwoCircles <= (radiusOfCircle1 + radiusOfCircle1)){
System.out.print("circle1 overlaps circle2");
}else{
System.out.print("circle1 dose not overlap circle2");
}
}
}

浙公网安备 33010602011771号