java程序:提示用户输入两个圆的中心坐标和各自的半径值,然后决定第二个圆是否在第一个圆内,还是和第一个圆重叠,如下图所示

注:这里第二个⚪比第一个小
在这里插入图片描述

import java.util.Scanner;
public class twotwo {
	public static void main(String[] args) {
		Scanner reader=new Scanner(System.in);
		System.out.println("输入第一个⚪的x轴y轴坐标和半径");
		float x1=reader.nextFloat();
		float y1=reader.nextFloat();
		float r1=reader.nextFloat();
		System.out.println("输入第二个⚪的x轴y轴坐标和半径");
		float x2=reader.nextFloat();
		float y2=reader.nextFloat();
		float r2=reader.nextFloat();
		double l=Math.sqrt((Math.pow(x1-x2, 2)+Math.pow(y1-y2, 2)));
		if(l<=Math.abs(r1-r2)) {
			System.out.println("⚪2在⚪1内");
		}
		else if(l<=r1+r2) {
			System.out.println("⚪2和⚪1重叠");
		}
		else {
			System.out.println("⚪2和⚪1不重叠");
		}
	}

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以在Circle类中添加一个方法,用于判断任意两个的关系: ```java public class Circle { private double x; // 心横坐标 private double y; // 心纵坐标 private double r; // 半径 // 构造函数 public Circle(double x, double y, double r) { this.x = x; this.y = y; this.r = r; } // 判断两个的关系 public String relationTo(Circle c) { double d = Math.sqrt(Math.pow(this.x - c.x, 2) + Math.pow(this.y - c.y, 2)); // 两心距离 double r1 = this.r; double r2 = c.r; if (d > r1 + r2) { return "两相离"; } else if (d == r1 + r2) { return "两相切外接"; } else if (d < Math.abs(r1 - r2)) { return "两圆内含"; } else if (d == Math.abs(r1 - r2)) { return "两相切内切"; } else { return "两相交"; } } } ``` 其中,`relationTo`方法接收一个`Circle`类型的参数,表示另一个,返回为字符串,表示两个的关系。在方法中,根据两个心的距离和半径的大小关系,判断两个的关系。可以分为以下五类: 1. 两相离:心距离大于两半径之和。 2. 两相切外接:心距离等于两半径之和。 3. 两圆内含:心距离小于两半径之差。 4. 两相切内切:心距离等于两半径之差。 5. 两相交:其他情况。 调用方法时,可以先创建两个`Circle`对象,后调用其中一个对象的`relationTo`方法,将另一个对象作为参数传入,即可得到两个的关系: ```java public static void main(String[] args) { Circle c1 = new Circle(0, 0, 2); // 创建第一个 Circle c2 = new Circle(3, 0, 2); // 创建第二个 String relation = c1.relationTo(c2); // 判断两个的关系 System.out.println(relation); // 输出结果:两相交 } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值