我如何使用System.out.printf?

时间:2013-09-11 00:44:16

标签: java system.out

我的老师希望我们以格式方法显示我们的价值观(在最底层),但问题是我们有一个子,她没有告诉我们如何使用它,我的老师不太有帮助。任何建议或帮助将不胜感激。

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();

1 个答案:

答案 0 :(得分:6)

以下是一些例子:

(输出显示在嵌入式评论中的双引号内)

注意: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