第三章第二十九题(几何:两个圆)(Geometry: two circles)

第三章第二十九题(几何:两个圆)(Geometry: two circles)

  • **3.29(几何:两个圆)编写程序,提示用户输入两个圆的中心坐标和各自的半径值,然后判断第二个圆是在第一个圆内,还是和第一个圆重叠。
    下面是运行示例:
    Enter circle1’s center x-,y-coordinates,and radius: 0.5 5.1 13
    Enter circle2’s center x-,y-coordinates,and radius: 1 1.7 4.5
    circle2 is inside circle1
    Enter circle1’s center x-,y-coordinates,and radius: 3.4 5.7 5.5
    Enter circle2’s center x-,y-coordinates,and radius: 6.7 3.5 3
    circle2 overlaps circle1
    Enter circle1’s center x-,y-coordinates,and radius: 3.4 5.5 1
    Enter circle2’s center x-,y-coordinates,and radius: 5.5 7.2 1
    circle2 does not overlap circle1

    **3.29(Geometry: two circles) Write a program that prompts the user to enter the center coordinates and radii of two circles and determines whether the second circle is inside the first or overlaps with the first.
    Here are the sample runs:
    Enter circle1’s center x-,y-coordinates,and radius: 0.5 5.1 13
    Enter circle2’s center x-,y-coordinates,and radius: 1 1.7 4.5
    circle2 is inside circle1
    Enter circle1’s center x-,y-coordinates,and radius: 3.4 5.7 5.5
    Enter circle2’s center x-,y-coordinates,and radius: 6.7 3.5 3
    circle2 overlaps circle1
    Enter circle1’s center x-,y-coordinates,and radius: 3.4 5.5 1
    Enter circle2’s center x-,y-coordinates,and radius: 5.5 7.2 1
    circle2 does not overlap circle1

  • 参考代码:

package chapter03;

import java.util.Scanner;

public class Code_29 {
    public static void main(String[] args) {
        double xCoordinateCircle1,yCoordinateCircle1,radiusCircle1;
        double xCoordinateCircle2,yCoordinateCircle2,radiusCircle2;
        double distanceFromP1ToP2;

        System.out.print("Enter circle1's center x-,y-coordinates,and radius: ");
        Scanner input = new Scanner(System.in);
        xCoordinateCircle1 = input.nextDouble();
        yCoordinateCircle1 = input.nextDouble();
        radiusCircle1 = input.nextDouble();

        System.out.print("Enter circle2's center x-,y-coordinates,and radius: ");
        xCoordinateCircle2 = input.nextDouble();
        yCoordinateCircle2 = input.nextDouble();
        radiusCircle2 = input.nextDouble();

        distanceFromP1ToP2 = Math.pow((Math.pow(xCoordinateCircle1-xCoordinateCircle2, 2)
                +Math.pow(yCoordinateCircle1-yCoordinateCircle2, 2)), 0.5);

        if(radiusCircle1 + radiusCircle2 >= distanceFromP1ToP2)
        {
            if(radiusCircle1 - radiusCircle2 >= distanceFromP1ToP2)
                System.out.println("circle2 is inside circle1");
            else
                System.out.println("circle2 overlaps circle1");
        }
        else
            System.out.println("circle2 does not overlap circle1");

        input.close();
    }
}

  • 结果显示:
Enter circle1's center x-,y-coordinates,and radius: 0.5 5.1 13
Enter circle2's center x-,y-coordinates,and radius: 1 1.7 4.5
circle2 is inside circle1

Process finished with exit code 0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值