Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法计算正多边形的面积-使用切线公式的结果错误_Java_Trigonometry - Fatal编程技术网

Java 无法计算正多边形的面积-使用切线公式的结果错误

Java 无法计算正多边形的面积-使用切线公式的结果错误,java,trigonometry,Java,Trigonometry,我有这个计算正多边形面积的方法: public double getArea() { return (sideLength * sideLength * sides) / (4 * Math.tan(180 / (double) sides)); } 对于边长和两边都等于10的情况,返回-219.816218。 但是,此在线计算器: 返回769.4。我的方法有什么问题?指定了我使用的公式 .使用以下返回语句 r

我有这个计算正多边形面积的方法:


    public double getArea()  {
        return (sideLength *
            sideLength * sides) /
            (4 * Math.tan(180 / (double) sides));
    }
对于边长和两边都等于10的情况,返回-219.816218。 但是,此在线计算器: 返回769.4。我的方法有什么问题?指定了我使用的公式
.

使用以下返回语句

return (sideLength  * sideLength  * sides) / (4 * Math.tan((180 / sides) * 3.14159 / 180));

这里添加了*3.14159/180以将面积从度转换为弧度

使用以下返回语句

return (sideLength  * sideLength  * sides) / (4 * Math.tan((180 / sides) * 3.14159 / 180));

此处,添加*3.14159/180以将面积从度转换为弧度

三角函数的参数定义为弧度,而不是度。使用Math.toRadians将角度(以度为单位)转换为弧度-如下所示:

Math.tan(Math.toRadians(180 / (double) sides))
或者从弧度开始计算

Math.tan(Math.PI / sides)

三角函数的参数定义为弧度,而不是度。使用Math.toRadians将角度(以度为单位)转换为弧度-如下所示:

Math.tan(Math.toRadians(180 / (double) sides))
或者从弧度开始计算

Math.tan(Math.PI / sides)
问题是Math.tan函数使用弧度作为默认度量单位。改用这个:

(4*Math.tan(Math.PI/180 * 180/(double) sides))
问题是Math.tan函数使用弧度作为默认度量单位。改用这个:

(4*Math.tan(Math.PI/180 * 180/(double) sides))