Tôi đã được giao nhiệm vụ sử dụng java để tạo ra một bảng Sin, tuy nhiên tôi dường như nhận được một số kết quả rất lạ đối với một số giá trị của đầu vào. Tôi đang sử dụng dưới đâyHành vi lạ của Java với Sin và ToRadians
System.out.println("| sin(" + currentPoint + ") = " + Math.sin(Math.toRadians(currentPoint)));
đâu (int) currentPoint là một giá trị trong độ (ví dụ 90)
Đây là những kết quả tôi thấy lạ
| sin(360) = -2.4492935982947064E-16
| sin(180) = 1.2246467991473532E-16
| sin(150) = 0.49999999999999994
| sin(120) = 0.8660254037844387
Mong
sin(360) = 0
sin(180) = 0
sin(150) = 0.5
sin(120) = 0.866025404
Tôi có thiếu gì đó không?
Theo [google] (http://www.google .com/search? sourceid = chrome & ie = UTF-8 & q = sin + 360 + độ), 'sin (360 độ)' là trong thực tế '0'. Bạn có chắc chắn bạn có nghĩa là sin? –
kết quả mong đợi của bạn sẽ diễn giải các giá trị dưới dạng radian, trong khi đó trong chương trình bạn đang xem xét chúng dưới dạng các phép đo độ. –
Mã của bạn là chính xác, kỳ vọng là sai. – Ishtar