因此,我试图编写一个简单的方法来获取四个坐标的集合并确定它们是否形成正方形.我的方法是从一个点开始并计算其他三个点与基点之间的距离.可以得到具有相同值的两个边和一个对角线.然后我用毕达哥拉斯定理确定边的平方是否等于对角线.如果是isSquare方法,则返回true否则为false.找出是否存在某些情况下我可能会错过或者该方法有什么问题.感谢所有帮助.
public class CoordinatesSquare {
public static boolean isSquare(List listPoints) {
if (listPoints != null && listPoints.size() == 4) {
int distance1 = distance(listPoints.get(0), listPoints.get(1));
int distance2 = distance(listPoints.get(0), listPoints.get(2));
int distance3 = distance(listPoints.get(0), listPoints.get(3));
if (distance1 == distance2) {
// checking if the sides are equal to the diagonal
if (distance3 == distance1 + distance2) {
return true;
}
} else if (distance1 == distance3) {
// checking if the sides are equal to the diagonal
i