Imprimir matrizes Java em colunas
Estou tentando formatar duas matrizes em Java para imprimir algo como isto:
Inventory Number Books Prices
------------------------------------------------------------------
1 Intro to Java $45.99
2 Intro to C++ $89.34
3 Design Patterns $100.00
4 Perl $25.00
Estou usando o seguinte código:
for(int i = 0; i < 4; i++) {
System.out.print(i+1);
System.out.print(" " + books[i] + " ");
System.out.print(" " + "$" + booksPrices[i] + " ");
System.out.print("\n");
}
Mas estou obtendo esse resultado mal formatado:
Inventory Number Books Prices
------------------------------------------------------------------
1 Intro to Java $45.99
2 Intro to C++ $89.34
3 Design Patterns $100.0
4 Perl $25.0
Como alinhar todas as colunas diretamente sob os cabeçalhos no topo?
Existe uma maneira melhor de fazer isso?