how do I use System.out.printf?

PandaBear picture PandaBear · Sep 11, 2013 · Viewed 45.6k times · Source

My teacher wants us to display our values in the format method (at the very bottom) but the problem is we had a sub and she didn't show us how to use it and my teacher is being less than helpful. Any advice or help would be greatly appreciated.

public class SphereCalculations
{
public static void main(String[] args)
{
   //define variables
   double circumference = 0;
   double area = 0;
   double volume = 0;
   double surfacearea = 0;
   double radius = 0;
   Scanner scan = new Scanner (System.in);
   DecimalFormat dFmt = new DecimalFormat("0.0000");

   //prompt for radius
   System.out.println("Enter the sphere's radius: ");
   radius = scan.nextDouble();

   //calculate values
   circumference = 2 * Math.PI * radius;
   area = Math.PI * (Math.pow(radius, 2));
   volume = ((4 / 3) * Math.PI) * Math.pow(radius, 3);
   surfacearea = (4 * Math.PI) * Math.pow(radius, 2);

   //Display values with println and DecimalFormat
   System.out.println("Using Println");
   System.out.println("The radius: " + radius);
   System.out.println("Circumference: " + dFmt.format(circumference));
   System.out.println("Area: " + dFmt.format(area));
   System.out.println("Volume: " + dFmt.format(volume));
   System.out.println("Surface Area: " + dFmt.format(surfacearea));

   //Display values with format method
   System.out.printf();

Answer

DeMarco picture DeMarco · Sep 11, 2013

Here a few examples:

(The output is shown within double quotes in the embedded comment)

Note : System.out.format() = System.out.printf()

import java.util.Calendar;
import java.util.Locale;

public class TestFormat {

    public static void main(String[] args) {
      long n = 461012;
      System.out.format("%d%n", n);      //  -->  "461012"
      System.out.format("%08d%n", n);    //  -->  "00461012"
      System.out.format("%+8d%n", n);    //  -->  " +461012"
      System.out.format("%,8d%n", n);    // -->  " 461,012"
      System.out.format("%+,8d%n%n", n); //  -->  "+461,012"

      double pi = Math.PI;

      System.out.format("%f%n", pi);       // -->  "3.141593"
      System.out.format("%.3f%n", pi);     // -->  "3.142"
      System.out.format("%10.3f%n", pi);   // -->  "     3.142"
      System.out.format("%-10.3f%n", pi);  // -->  "3.142"
      System.out.format(Locale.FRANCE,
                        "%-10.4f%n%n", pi); // -->  "3,1416"

      Calendar c = Calendar.getInstance();
      System.out.format("%tB %te, %tY%n", c, c, c); // -->  "May 29, 2006"

      System.out.format("%tl:%tM %tp%n", c, c, c);  // -->  "2:34 am"

      System.out.format("%tD%n", c);    // -->  "05/29/06"
    }
}

(source)