用java判断一点是否在圆内(开发工具-eclipse)

平面上有4个圆,圆心分别为 (2,2) (-2,2)(-2,-2)(2,-2),圆半径为1 现输入任一点的坐标,判断给点是否在这四个圆中,如在则给出是在哪一个圆中。请写出java程序代码eclipse

以下是判断点是否在这四个圆中,并给出所在的圆的Java程序代码:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入点的坐标:");
        double x = input.nextDouble();
        double y = input.nextDouble();

        if (Math.sqrt((x-2)*(x-2)+(y-2)*(y-2)) == 1) {
            System.out.println("点在圆(2,2)上");
        }
        else if (Math.sqrt((x+2)*(x+2)+(y-2)*(y-2)) == 1) {
            System.out.println("点在圆(-2,2)上");
        }
        else if (Math.sqrt((x+2)*(x+2)+(y+2)*(y+2)) == 1) {
            System.out.println("点在圆(-2,-2)上");
        }
        else if (Math.sqrt((x-2)*(x-2)+(y+2)*(y+2)) == 1) {
            System.out.println("点在圆(2,-2)上");
        }
        else {
            System.out.println("点不在这四个圆中");
        }
    }
}

运行程序后,输入点的坐标,程序将判断点所在圆,并输出相应的结果。

【以下回答由 GPT 生成】

首先,我们需要定义四个圆的圆心和半径。我们可以使用Java中的Point类来表示圆心坐标,使用double类型来表示圆的半径。

import java.awt.Point;

public class Circle {
    private Point center;
    private double radius;

    public Circle(Point center, double radius) {
        this.center = center;
        this.radius = radius;
    }

    public Point getCenter() {
        return center;
    }

    public double getRadius() {
        return radius;
    }
}

接下来,我们可以定义一个方法来判断一个点是否在给定的圆内。在这个方法中,我们可以使用distance()方法来计算点与圆心之间的距离,如果距离小于等于圆的半径,则点在圆内。

import java.awt.Point;

public class Circle {
    // ...

    public boolean containsPoint(Point point) {
        double distance = center.distance(point);
        return distance <= radius;
    }
}

最后,我们可以在主程序中使用上述的Circle类来判断一个点是否在四个圆中,并给出在哪个圆中。

import java.awt.Point;

public class Main {
    public static void main(String[] args) {
        // 定义四个圆
        Circle circle1 = new Circle(new Point(2, 2), 1);
        Circle circle2 = new Circle(new Point(-2, 2), 1);
        Circle circle3 = new Circle(new Point(-2, -2), 1);
        Circle circle4 = new Circle(new Point(2, -2), 1);

        // 输入一个点的坐标
        Point point = new Point(1, 1);

        // 判断点是否在四个圆中,并给出结果
        boolean inCircle1 = circle1.containsPoint(point);
        boolean inCircle2 = circle2.containsPoint(point);
        boolean inCircle3 = circle3.containsPoint(point);
        boolean inCircle4 = circle4.containsPoint(point);

        if (inCircle1) {
            System.out.println("点(" + point.x + ", " + point.y + ")在圆1中");
        } else if (inCircle2) {
            System.out.println("点(" + point.x + ", " + point.y + ")在圆2中");
        } else if (inCircle3) {
            System.out.println("点(" + point.x + ", " + point.y + ")在圆3中");
        } else if (inCircle4) {
            System.out.println("点(" + point.x + ", " + point.y + ")在圆4中");
        } else {
            System.out.println("点(" + point.x + ", " + point.y + ")不在任何一个圆中");
        }
    }
}

以上代码可以在eclipse中新建一个Java项目,并运行来测试点是否在四个圆中。如果点在某个圆中,则会输出对应的圆号,否则输出不在任何一个圆中。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^