Here is an example of how to pad values with fill characters :
public class Main { public static <T> String pad(T str, int n, String right_pad, String filler) { return String.format("%1$" + right_pad + n + "s", str).replaceAll(" ", filler); } public static <T> String pad_left(T str, int n, String filler) { return pad(str, n, "", filler); } public static <T> String pad_right(T str, int n, String filler) { return pad(str, n, "-", filler); } public static <T> String pad_left(T str, int n) { return pad(str, n, "", " "); } public static <T> String pad_right(T str, int n) { return pad(str, n, "-", " "); } public static void main(String[] args) { System.out.println("pad(5,3) : " + pad_left(5,3)); System.out.println("pad(5,3,\"0\") : " + pad_left(5,3,"0")); System.out.println("pad(5,3,\"-\") : " + pad_right(5,3,"-")); } } ------- pad(5,3) : 5 pad(5,3,"0") : 005 pad(5,3,"-") : 5--