Как я могу правильно использовать тригонометрию и Pi в Java

//Вот мой метод, который я создал.

// Я хочу, чтобы мой радиус 1 был равен "7,07", но как только я использую этот метод, он дает мне ноль

public double getCircumscribedCircleRadius()
   {
       radius1 = 1 / 2 * 10 * 1 / Math.sin( Math.PI / 4);
       return radius1;
   }

person Zach    schedule 01.03.2017    source источник


Ответы (1)


Вам нужно бросить результат в double :

 double radius1 = (double) 1 / 2 * 10 * 1 / Math.sin( Math.PI / 4);

вывод: 7.0710678118654755

person Mehraj Malik    schedule 01.03.2017
comment
На самом деле то, что вы делаете, - это преобразование первого 1 в double и, таким образом, запуск вычислений в double вместо целочисленной арифметики, где 1/2 приводит к 0. Вы также можете заменить (double) 1 / 2 на 0.5 или (double) 1 на 1.0. - person Lutz Lehmann; 01.03.2017
comment
Спасибо! Я не понимал, что проблема была в дроби, пока вы не поставили (двойной) перед выражением, чтобы получить правильный результат. Спасибо, что объяснили =) - person Zach; 02.03.2017