Я прохожу онлайн-курс и должен создать такую программу:
В этой программе мы будем практиковаться в использовании класса Math, вычисляя некоторые важные значения на единичном круге. Начиная с 0 и поднимаясь вверх
PI / 4 радиана (или 45 градусов), распечатайте информацию в формате ниже.
Radians: (cos, sin)
0.0: 1.0, 0.0
0.79: 0.7, 0.71
1.57: 0.0, 1.0
2.36: -0.71, 0.7
3.14: -1.0, 0.0
3.93: -0.7, -0.71
4.71: 0.0, -1.0
5.5: 0.71, -0.71
Советы:
Вам нужно использовать методы Math.sin, Math.cos.
и константа Math.PI!
Вам также нужно будет цикл от 0 до 2 * PI
Моя программа выглядит так:
public class UnitCircle extends ConsoleProgram
{
public void run()
{
System.out.println("Radians: (cos, sin)");
for(double i = 0; i <= 2 * Math.PI; i += Math.PI / 4)
{
i = Math.round(i * 100) / 100.0;
double cos = Math.cos(i);
cos = Math.round(cos * 100) / 100.0;
double sin = Math.sin(i);
sin = Math.round(sin * 100) / 100.0;
System.out.println(i + ": " + cos + ", " + sin);
}
}
}
Но когда я запускаю его, вот что я получаю:
Radians: (cos, sin)
0.0: 1.0, 0.0
0.79: 0.7, 0.71
1.58: -0.01, 1.0
2.37: -0.72, 0.7
3.16: -1.0, -0.02
3.95: -0.69, -0.72
4.74: 0.03, -1.0
5.53: 0.73, -0.68
Я не знаю, как это исправить. Я подозреваю, что у меня проблема с округлением чисел, но я не знаю, как это исправить.