File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes problems with Math.tan Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "problems with Math.tan" Watch "problems with Math.tan" New topic

problems with Math.tan

Kevin de Berk

Joined: Nov 04, 2003
Posts: 3
The following code:

Gives the following output:
degrees = 72.0
tanDegrees = -0.26241737750193517

While my calculator returns something different:

What am I doing wrong in the Java source?
[ January 10, 2004: Message edited by: Kevin de Berk ]
Jim Yingst

Joined: Jan 30, 2000
Posts: 18671
You're assuming that the tan funtion uses degrees. It doesn't - the API says it uses radians (pi=3.1419... radians equals 180 degrees). Most calculators have several possible modes - a "DRG" button toggles between degrees mode, radians mode, and grad mode (which has 100 grads in a 90 degree angle; seldom used). Your calculator is currently in degrees mode. Java's Math class doesn't have these modes; it always uses radians because that's the most mathematically natural mode to use. (Computations are actually simplest for the computer this way.) But you can use the toDegrees() and toRadians() methods to convert between radians and degrees.

"I'm not back." - Bill Harding, Twister
Kevin de Berk

Joined: Nov 04, 2003
Posts: 3
Well, thanks mate
I agree. Here's the link:
subject: problems with Math.tan
It's not a secret anymore!