【发布时间】:2016-04-08 16:53:14
【问题描述】:
我是 Java 新手。我想打印出每 15 度间隔的 sin、cos 和 tan 值。
public class W3Aufgabe5 {
public static void main(String[] args) {
System.out.printf("%6s%6s%6s%6s%n", "Angle", "Sin", "Cos", "Tan");
System.out.println("------------------------");
for (float angle = 0; angle <= 180; angle += 15) {
float sin = Math.sin(Math.toRadians(angle));
float cos = Math.cos(Math.toRadians(angle));
float tan = Math.tan(Math.toRadians(angle));
System.out.printf("%6d%6d%6d%6d%n", angle, sin, cos, tan);
}
}
}
对于每个Math.x() 行,编译器都会打印
错误:可能会丢失精度
必需:浮动
发现:双
我真的不明白。为什么即使我一直在使用float,它也需要double?
【问题讨论】:
-
为什么会有浮罪?除非你有真正的理由使用浮点数,否则只使用双精度,例如。图像处理或图形。
标签: java math trigonometry