Java: 计算扁赤道体的表面积

13 浏览
0 Comments

Java: 计算扁赤道体的表面积

编写一个名为Spheroid.java的程序,将a和c作为命令行参数输入,并计算椭圆球的表面积。他给了我们使用的公式,但是当我使用他的示例命令行参数运行它时,我得到了完全不同的结果。他的例子给了6和5,并得到403.050。我认为自己做得很正确,得到了546.1380388013903。我还没有尝试四舍五入,我只是想看看我是否接近正确答案。

public class Spheroid {
    public static void main(String[] args){
        String a = args[0];
        String c = args[1];
        Double A = Double.parseDouble(a);
        Double C = Double.parseDouble(c);
        Double e;
        Double S;
        e = Math.sqrt(1-(Math.pow(C, 2)/Math.pow(A, 2)));
        S = (2 * Math.PI * Math.pow(A, 2)) + (Math.PI * ((Math.pow(C, 2)/ Math.pow(e, 2))) * (Math.log((1+e)/(1-e))));
        System.out.println(S);
    }
}

admin 更改状态以发布 2023年5月21日
0
0 Comments

最后一行应该是:

S = (2 * Math.PI * Math.pow(A, 2)) + (Math.PI * ((Math.pow(C, 2)/ e)) * (Math.log((1+e)/(1-e))));

你用的是c^2/e^2,而不是c^2/e

0
0 Comments

在你的代码中,你使用了 Math.pow(e, 2)) 来计算 SA。
然而,在实际公式中只有 'e' 而没有 e 的平方。

0