用java写出一个程序判断一个点是否在圆内,工作提示如下1. 编写一个Point类,具有求两点之间距离的功能,要求至少提供2个构造函数 2. 编写一个圆类Circle,功能为:可以求面积和周长,以及判断一个点在不在该圆之内,要求至少提供2个构造函数
时间: 2024-09-27 22:06:18 浏览: 39
首先,我们创建一个`Point`类,它将包含坐标值,并提供两个构造函数:
```java
public class Point {
private double x;
private double y;
// 无参构造函数
public Point() {
this.x = 0;
this.y = 0;
}
// 通过坐标值构造函数
public Point(double x, double y) {
this.x = x;
this.y = y;
}
// 计算两点之间的距离
public double distance(Point other) {
double dx = other.x - this.x;
double dy = other.y - this.y;
return Math.sqrt(dx * dx + dy * dy);
}
}
```
接着,我们创建一个`Circle`类,它将有圆心和半径,也提供两个构造函数,并包含计算面积、周长的方法以及判断点是否在圆内的方法:
```java
import java.util.ArrayList;
import java.util.List;
public class Circle {
private Point center;
private double radius;
// 无参构造函数,创建一个原点为圆心,半径为0的圆
public Circle() {
this.center = new Point();
this.radius = 0;
}
// 通过圆心和半径构造函数
public Circle(Point center, double radius) {
this.center = center;
this.radius = radius;
}
// 计算面积和周长
public double getArea() {
return Math.PI * radius * radius;
}
public double getCircumference() {
return 2 * Math.PI * radius;
}
// 判断点是否在圆内
public boolean isInside(Point point) {
double distance = point.distance(this.center);
return distance <= radius;
}
}
```
现在你可以使用这两个类来判断一个点是否在圆内,例如:
```java
public static void main(String[] args) {
Circle circle = new Circle(new Point(0, 0), 5); // 创建一个半径为5的圆
Point testPoint = new Point(3, 4); // 测试点
System.out.println("Is " + testPoint + " inside the circle? " + circle.isInside(testPoint));
}
```
阅读全文