// Pad.java (c) 2004 Kari Laitinen // www.naturalprogramming.com // 2004-10-08 File created. // 2004-10-08 Last modification. // This is Java 2 SE 1.5 program. /* The Pad class in this file contains static methods padLeft() and padRight() which are wonderful methods in string manipulation. It is a pity that the standard String class of Java does not have these methods. */ // Compile: javac Pad.java // Execute: java PaddingTests class Pad { public static String padLeft( String given_string, int desired_length, char padding_character ) { StringBuilder string_to_return = new StringBuilder( given_string ) ; while ( string_to_return.length() < desired_length ) { string_to_return.insert( 0, padding_character ) ; } return string_to_return.toString() ; } public static String padLeft( String given_string, int desired_length ) { // Padding with spaces. return padLeft( given_string, desired_length, ' ' ) ; } public static String padRight( String given_string, int desired_length, char padding_character ) { StringBuilder string_to_return = new StringBuilder( given_string ) ; while ( string_to_return.length() < desired_length ) { string_to_return.append( padding_character ) ; } return string_to_return.toString() ; } public static String padRight( String given_string, int desired_length ) { // Padding with spaces. return padRight( given_string, desired_length, ' ' ) ; } } class PaddingTests { public static void main( String[] command_line_parameters ) { String test_string = "xxxxyyyy" ; System.out.print( "\n 123456789012345678901234567890"); System.out.print( "\n test_string is: " + test_string ) ; test_string = Pad.padRight( test_string, 10, 'Z' ) ; System.out.print( "\n test_string is: " + test_string ) ; test_string = Pad.padRight( test_string, 14 ) ; test_string = Pad.padRight( test_string, 17, 'A' ) ; System.out.print( "\n test_string is: " + test_string ) ; test_string = Pad.padLeft( test_string, 20, 'B' ) ; System.out.print( "\n test_string is: " + test_string ) ; test_string = Pad.padLeft( test_string, 23 ) ; test_string = Pad.padLeft( test_string, 26, 'C' ) ; System.out.print( "\n test_string is: " + test_string ) ; // The strings is already longer than 23. The following // statements have no effect. test_string = Pad.padRight( test_string, 23 ) ; test_string = Pad.padLeft( test_string, 23 ) ; System.out.print( "\n test_string is: " + test_string ) ; } }