计算六边形的边长

时间:2017-01-20 02:23:15

标签: java math geometry

我必须为我的AP计算机科学课程创建一个名为getSideLength()的方法。它使用以下公式计算六边形的公式:

长度=√(x 2 -x 1 2 +(y 2 -y 1 2

这是我能够提出的方法:

public double getSideLength() {
/* To be implemented in part (a) */
Math.sqrt(x2-x1)Math.pow(2) + (y2-y1)Math.pow(2));
}

我不确定如何在java中编写该公式。感谢

2 个答案:

答案 0 :(得分:1)

您的问题是缺少括号会导致您的操作顺序出现问题。我建议将其分解为几个步骤,以使代码更具可读性:

public double getSideLength(){
    double sideLength;
    double deltaX = x2 - x1;
    double deltaY = y2 - y1;
    double squaredSum = Math.pow(deltaX, 2) + Math.pow(deltaY, 2);

    sideLength = Math.sqrt(squaredSum);

    return sideLength;

}

注意:我不确定您在哪里定义x1 x2 y1 y2,但是这个答案假定它们是在此函数的范围内定义的。如果您当前将它们作为全局变量,我建议将它们更改为getSideLength()函数的局部变量或参数。

答案 1 :(得分:1)

试试这个

public double getSideLength(){

    return Math.hypot(x2-x1, y2-y1);
}