Я новичок в Java. Я хочу распечатать значения sin
, cos
и tan
за каждые 15-градусный интервал.Java: Возможная потеря точности при использовании `Math.sin()`
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()
линии, компилятор печатает
error: possible loss of precision
required: float
found: double
Я действительно не понимаю. Почему он требует double
, хотя я все время использую float
?
Почему у вас есть грех? Просто используйте double, если у вас нет реальной причины использовать float, например. манипуляции с изображениями или графики. – matt