有人可以帮助我弄清楚我在做什么错吗?
import java.lang.Math;
public class Exercise {
public static void main(String[]args) {
double a = 65;
double angle = Math.cos(20);
double x= (65/angle);
System.out.println(angle);
}
}
这将导致0.40808206181339196
作为输出。
但这不是我所期望的。
答案 0 :(得分:2)
下面是代码。
import java.text.DecimalFormat;
public class Test2
{
public static void main(String[] args)
{
DecimalFormat df = new DecimalFormat("#.###");
double o = 65;
double angle = Math.sin(Math.toRadians(20));
double x = o/angle;
System.out.println(df.format(x));
}
}
您的代码中的问题:
1. Math.cos(20);
此处的20度应转换为弧度,因为Math类使用Radians而不是度作为参数。
2.使用角度和对侧找到斜边的公式是-> Sine: sin(θ) = Opposite / Hypotenuse
要将十进制数字格式设置为我使用的3个小数位-> DecimalFormat df = new DecimalFormat("#.###");
答案 1 :(得分:1)
math.cos()
以弧度而不是度为单位的角度作为参数。因此,您必须转换参数以获得正确的结果。