**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行等等)