第三章第二十九题(几何:两个圆)(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

下面是参考答案代码:

import java.util.*;

public class  TwoCirclesQuestion29 {
	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();
	}
}

运行效果:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注:编写程序要养成良好习惯
如:1.文件名要用英文,具体一点
2.注释要英文
3.变量命名要具体,不要抽象(如:a,b,c等等),形式要驼峰化
4.整体书写风格要统一(不要这里是驼峰,那里是下划线,这里的逻辑段落空三行,那里相同的逻辑段落空5行等等)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值