这是我目前的程序,它找到一个给定四个点的矩形的周长。我正在为一个学校项目做这件事,并希望确保线条形成一个有效的矩形,但我甚至不知道从哪里开始检查相交线在这里。我该怎么办?
package perimeter;
import java.util.Scanner;
import javafx.geometry.Point2D;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter point 1's x-, y-coordinates: ");
double x1 = input.nextDouble();
double y1 = input.nextDouble();
System.out.print("Enter point 2's x-, y-coordinates: ");
double x2 = input.nextDouble();
double y2 = input.nextDouble();
System.out.print("Enter point 3's x-, y-coordinates: ");
double x3 = input.nextDouble();
double y3 = input.nextDouble();
System.out.print("Enter point 4's x-, y-coordinates: ");
double x4 = input.nextDouble();
double y4 = input.nextDouble();
input.close();
Point2D p1 = new Point2D(x1, y1);
Point2D p2 = new Point2D(x2, y2);
Point2D p3 = new Point2D(x3, y3);
Point2D p4 = new Point2D(x4, y4);
double Perimeter = p1.distance(p2) + p2.distance(p3) +
+ p3.distance(p4) + p4.distance(p1);
System.out.println("The perimeter is " +
Perimeter);
}
}
如果你有一个矩形a,b,c,d,检查a和c之间的距离是否等于b和d之间的距离。这将验证形状是否为矩形
double distance = Math.hypot(x1-x2, y1-y2);
阅读文档:https://docs.oracle.com/javase/7/docs/api/java/lang/Math.html#hypot%28double,%20double%29
要获得周长,你必须计算矩形周围的总距离,但我认为你的问题是如何检查它是否真的是4个点的矩形。我认为最好的方法是检查3点是否成直角(3点将取决于你的4点的顺序)如果我们看到一些代码可以帮助更多。