首页 > 代码库 > 判断2圆的位置关系

判断2圆的位置关系

/*
 * 判断2个圆的位置
 *             圆内:圆心距小于2半径差的绝对值
 *             圆外:圆心距离大于2半径之和
 *             重合:圆心距大于2半径差的绝对值小于2半径之和
 */

public class Dome1 {
    public static void main(String[] args) {
        //键盘输入
        Scanner sc = new Scanner(System.in);
        //提示用户输入圆1圆心坐标
        System.out.println("请输入第一个圆的圆心和半径:");
        double a = sc.nextDouble();
        double b = sc.nextDouble();
        //提示用户输入第一个圆的半径
        //System.out.println("请输入第一个圆的半径:");
        double r1 = sc.nextDouble();
        
        //提示用户输入圆2圆心坐标
        System.out.println("请输入第二个圆的圆心和半径"
                + ":");
        double a1 = sc.nextDouble();
        double b1 = sc.nextDouble();
        //提示用户输入第二个圆的半径
        //System.out.println("请输入第2个园的半径:");
        double r2 = sc.nextDouble();
        //2圆的圆心距离
        double l = Math.pow(Math.pow(a1-a, 2)+Math.pow(b1-b, 2),0.5);
        
        //判断2个圆的位置
        
        if(l<Math.abs(r1-r2)){
            System.out.println("在圆内");
        }else if(l>r1+r2){
            System.out.println("在圆外");
        }else if(l<r1+r2){
            System.out.println("重合");
        }
        
    }

}

 

判断2圆的位置关系