/* * ================================================================== * DemoFormat.java: Use printf() method borrowed from C to generate * formatted output. * * For background info on printf()'s capabilities, see Sections 3.4.7 * and 12.2 in Austin/Chancogne. * * Written By: Mark Austin August 2007 * ================================================================== */ import java.lang.Math.*; public class DemoFormat { public static void main ( String [] args ) { int iA = 2; int iB = 123456; float fB = (float) 4.567; double dPi = Math.PI; // [a] Print integers in various formats ... System.out.printf(" integer " + "left " + " right\n" ); System.out.printf("========= " + "============" + " ============\n" ); System.out.printf(" 2 %-12d %12d\n", iA, iA ); System.out.printf(" 123456 %-12d %12d\n", iB, iB ); System.out.printf("Max value %-12d %12d\n", Integer.MAX_VALUE, Integer.MAX_VALUE ); System.out.printf("Min value %-12d %12d\n", Integer.MIN_VALUE, Integer.MIN_VALUE ); System.out.printf("========= " + "============" + " ============\n\n" ); // [b] Print float in various formats .... System.out.printf(" float " + "left " + " right\n" ); System.out.printf("========= " + "============" + " ============\n" ); System.out.printf(" 4.567 %-12.2f %12.2f\n", fB, fB ); System.out.printf(" 4.567 %-12.3f %12.3f\n", fB, fB ); System.out.printf(" 4.567 %-12.5f %12.5f\n", fB, fB ); System.out.printf(" 4.567 %-12.9f %12.9f\n", fB, fB ); System.out.printf("========= " + "============" + " ============\n\n" ); // [c] Print double in various formats .... System.out.printf(" double " + "left " + " right\n" ); System.out.printf("========== " + "================" + " ================\n" ); System.out.printf(" 3.1415926 %-16.3f %16.3f\n", dPi, dPi ); System.out.printf(" 3.1415926 %-16.5f %16.5f\n", dPi, dPi ); System.out.printf(" 3.1415926 %-16.10f %16.10f\n", dPi, dPi ); System.out.printf(" 3.1415926 %-16.14f %16.14f\n", dPi, dPi ); System.out.printf("========== " + "================" + " ================\n\n" ); // [d] Demonstrate use of exponential notation ... System.out.println("exponential notation output ...."); System.out.println("================================"); System.out.printf( "dPi = %e\n", dPi ); System.out.printf( "dPi = %16.4e\n", dPi ); System.out.printf( "dPi = %-16.4e\n", dPi ); System.out.printf( "dPi = %g\n", dPi ); System.out.printf( "dPi = %16.4g\n", dPi ); System.out.printf( "dPi = %-16.4g\n", dPi ); System.out.println("================================================"); System.out.println("exponential notation for large/small output ...."); System.out.println("================================================"); System.out.printf( "100*dPi = %e\n", 100*dPi ); System.out.printf( "100000*dPi = %e\n", 100000*dPi ); System.out.printf( " (1.0/100.0)*dPi = %e\n", (1.0/100.0)*dPi ); System.out.printf( "(1.0/10000.0)*dPi = %e\n", (1.0/10000.0)*dPi ); System.out.printf( " Float.MAX_VALUE = %16.3e\n", Float.MAX_VALUE ); System.out.printf( " Float.MIN_VALUE = %16.3e\n", Float.MIN_VALUE ); System.out.printf( " Double.MAX_VALUE = %16.3e\n", Double.MAX_VALUE ); System.out.printf( " Double.MIN_VALUE = %16.3e\n", Double.MIN_VALUE ); System.out.println("================================================"); } }