Results 1 to 11 of 11
- 06-21-2011, 01:33 AM #1
Senior Member
- Join Date
- Nov 2010
- Posts
- 167
- Rep Power
- 10
system.out.printf versus system.out.format
Hello,
I am working on Numbers
and string manipulations and I don't understand why for the first half of the Math class, they use printf then format for the trigonometric methods. Is there an advantage to doing one versus the other?
Thank you!Last edited by bigsonny; 06-21-2011 at 01:40 AM.
- 06-21-2011, 01:41 AM #2
As far as I am aware format and printf do the same thing. Perhaps it depends upon who wrote the methods in the Math class.
- 06-21-2011, 01:41 AM #3
Senior Member
- Join Date
- Nov 2010
- Posts
- 167
- Rep Power
- 10
A sample code would help:
From: Beyond Basic Arithmetic (The Java™ Tutorials > Learning the Java Language > Numbers and Strings)
printf:
Java Code:public class ExponentialDemo { public static void main(String[] args) { double x = 11.635; double y = 2.76; System.out.printf("The value of e is %.4f%n", Math.E); System.out.printf("exp(%.3f) is %.3f%n", x, Math.exp(x)); System.out.printf("log(%.3f) is %.3f%n", x, Math.log(x)); System.out.printf("pow(%.3f, %.3f) is %.3f%n", x, y, Math.pow(x, y)); System.out.printf("sqrt(%.3f) is %.3f%n", x, Math.sqrt(x)); } }
Java Code:public class TrigonometricDemo { public static void main(String[] args) { double degrees = 45.0; double radians = Math.toRadians(degrees); System.out.format("The value of pi is %.4f%n", Math.PI); System.out.format("The sine of %.1f degrees is %.4f%n", degrees, Math.sin(radians)); System.out.format("The cosine of %.1f degrees is %.4f%n", degrees, Math.cos(radians)); System.out.format("The tangent of %.1f degrees is %.4f%n", degrees, Math.tan(radians)); System.out.format("The arcsine of %.4f is %.4f degrees %n", Math.sin(radians), Math.toDegrees(Math.asin(Math.sin(radians)))); System.out.format("The arccosine of %.4f is %.4f degrees %n", Math.cos(radians), Math.toDegrees(Math.acos(Math.cos(radians)))); System.out.format("The arctangent of %.4f is %.4f degrees %n", Math.tan(radians), Math.toDegrees(Math.atan(Math.tan(radians)))); } }
- 06-21-2011, 01:42 AM #4
Senior Member
- Join Date
- Nov 2010
- Posts
- 167
- Rep Power
- 10
- 06-21-2011, 01:56 AM #5
What do you mean by "everything"? Are you asking are there methods that do the same thing throughout the API? Yes and no. There are a few methods that do the same or similar things but it is by no means prevalent. Why is this the case? I have no idea. I didn't work for Sun when they developed Java.
- 06-21-2011, 01:59 AM #6
Senior Member
- Join Date
- Nov 2010
- Posts
- 167
- Rep Power
- 10
Sorry, I meant is it the case that format and printf do the same thing in every instance or are there differences that you are of that justifies their respective existence?
- 06-21-2011, 02:02 AM #7
From the Java API
An invocation of this method of the form out.printf(l, format, args) behaves in exactly the same way as the invocation
out.format(l, format, args)
- 06-21-2011, 02:21 AM #8
Moderator
- Join Date
- Feb 2009
- Location
- New Zealand
- Posts
- 4,716
- Rep Power
- 17
The println() and format() methods of PrintStream/Writer do differ in what they return. format() returns the stream, so that you can chain method calls together. In this regard the PrintStream/Writer format() allows the same style of code as the Formatter version.
- 06-21-2011, 03:15 PM #9
Senior Member
- Join Date
- Nov 2010
- Posts
- 167
- Rep Power
- 10
Got it. Thank you very much.
Riffard
- 06-21-2011, 03:23 PM #10
- Join Date
- Sep 2008
- Location
- Voorschoten, the Netherlands
- Posts
- 14,422
- Blog Entries
- 7
- Rep Power
- 28
Here's the source to 'prove' the identical behaviour; (I ripped this from the src.zip file):
Java Code:public PrintStream printf(String format, Object ... args) { return format(format, args);
JosBuild a wall around Donald Trump; I'll pay for it.
- 06-21-2011, 11:40 PM #11
Moderator
- Join Date
- Feb 2009
- Location
- New Zealand
- Posts
- 4,716
- Rep Power
- 17
Similar Threads
-
is System.out.print same as System.out.println ?
By usuf in forum New To JavaReplies: 8Last Post: 06-21-2011, 03:21 PM -
System.out.println versus return: Perspective?
By bigsonny in forum New To JavaReplies: 6Last Post: 06-19-2011, 09:42 PM -
Convert Cartesian coordinate system into java coordinate system?
By 123 in forum Java 2DReplies: 3Last Post: 02-07-2010, 09:34 PM -
adding printf to system.in file
By bettyhagan in forum New To JavaReplies: 2Last Post: 12-21-2009, 12:11 PM -
Default/System Date Format Pattern?
By Gajesh Tripathi in forum AWT / SwingReplies: 1Last Post: 10-05-2008, 08:34 AM
Bookmarks