I\'m trying to format two arrays in Java to print something like this:
Inventory Number Books Prices
--------------------------
Without using any libraries, you need to determine the maximum length of each coloumn and append the needed space characters appropriately. For example like this:
/**
* Determines maximum length of all given strings.
*/
public static int maxLength(int padding, String... array) {
if (array == null) return padding;
int len = 0;
for (String s : array) {
if (s == null) {
continue;
}
len = Math.max(len, s.length());
}
return len + padding;
}
/**
* Unifies array element lengths and appends 3 whitespaces for padding.
*/
public static String[] format(String[] array) {
if (array == null || array.length == 0) return array;
int len = maxLength(3, array);
String[] newArray = new String[array.length];
for (int i = 0; i < array.length; i++) {
newArray[i] = array[i];
while (newArray[i].length() < len) {
newArray[i] += " ";
}
}
return newArray;
}