gpt4 book ai didi

java - 从我创建的使用公式的方法计算值时遇到问题

转载 作者:行者123 更新时间:2023-12-02 03:19:11 25 4
gpt4 key购买 nike

我正在创建一个类,我正在尝试创建一个以时间作为参数的方法,并使用此公式来查找某物的距离:

d(t) = vt cosθ

其中 d(t) 是距离,v 是速度,t 是时间,θ 是角度(以度为单位)。

这是我用Java写出来的,然后我测试了它,但没有得到正确的结果。

如果我用这些值计算距离:速度 = 21 时间 = 43 角度 = 62 我得到的结果是 423.93,但是如果我把它放在我的测试类中并使用该方法(并放入相同的值)我得到487.89。

我做错了什么?为什么我会得到这个值?

方法:

public double getDistance(double time) {
double vt = velocity * time;
angle = (int) Math.toRadians(angle);
double cosineCalc = Math.cos(angle);
double distance = vt * cosineCalc;
return distance;

测试器类实现:

Projectile testOne = new Projectile(21, 62);
double actual = testOne.getDistance(43);

最佳答案

问题在于 (int) Math.toRadians(angle) 会丢失精度并最终将其四舍五入为整数。要使其正常工作,请确保将 angle 保留为 double 并删除 (int) 转换。

关于java - 从我创建的使用公式的方法计算值时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39843329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com